ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

xhs 小红书公开数据抓取从零教程:15 分钟拿到第一条数据,附避坑清单

xhs 小红书公开数据抓取从零教程:15 分钟拿到第一条数据,附避坑清单 xhs 小红书公开数据抓取从零教程15 分钟拿到第一条数据附避坑清单【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs你正在跟踪三个竞品账号的更新节奏每天手动翻它们的主页把新笔记的点赞、评论数记进 Excel漏记一条就要重翻半天。这种活交给 Python 跑小红书 Web 端的抓取接口要高效得多。xhs 是一个开源库把小红书 Web 端请求封装成现成的 Python 方法——传入登录后的 Cookie 和签名函数就能直接拿回笔记详情、用户主页、完整评论等结构化数据还支持点赞、关注和发布笔记。想搭内容监控、选题调研或自动化运营脚本的 Python 用户可以直接用它。环境搭建安装 xhs 并配置签名跑通前先把这几项准备好Python 3.7 及以上pip install xhs依赖 requests、lxml装完即可导入pip install playwright再执行playwright install签名需要无头 Chromium下载一份 stealth.min.js反爬绕过脚本放到本地签名函数会注入它下面的代码用 Cookie 和 sign 函数初始化XhsClient然后调用get_note_by_id拉一条笔记打印标题和互动数据from xhs import XhsClient client XhsClient(cookieYOUR_COOKIE, signsign) note client.get_note_by_id(NOTE_ID, XSEC_TOKEN) print(note[title], note[interact_info])sign函数按 example/basic_sign_usage.py 里的写法实现即可。控制台打出笔记标题和liked_count等互动字段说明环境 OK。xhs 能力地图四个使用场景场景一拉单条笔记内容。核心方法是get_note_by_id传笔记 ID 和 xsec_token返回note_card字典含 title、desc、image_list、interact_info点赞/收藏/评论/转发数。素材收集时save_files_from_note_id更省事传笔记 ID 和本地目录图片/视频自动下载到以标题命名的文件夹里。场景二批量整理一个账号的全部作品。核心方法是get_user_all_notes内部按 cursor 自动翻页逐条拉取笔记详情并组装成Note对象列表含 title、img_urls、video_url、liked_count、time 等字段crawl_interval1控制请求间隔异常笔记会被跳过。另有get_user_info拿公开资料、get_user_collect_notes和get_user_like_notes看对方公开的收藏与点赞做竞品账号画像很好用。场景三评论与内容发现。get_note_all_comments递归翻页抓取全部评论及子评论返回扁平化列表get_note_by_keyword支持关键词搜索可按综合/最热/最新排序、按图文/视频过滤get_home_feed拉取推荐、穿搭、美食等十余个分类的信息流。场景四互动与发布。like_note、collect_note、comment_note、follow_user一一对应点赞、收藏、评论、关注均有取消/删除方法create_image_note上传本地图片发图文笔记create_video_note支持视频分片上传、定时与私密发布示例见 example/login_qrcode_from_creator.py。小红书登录认证四种方式对比方式操作适用场景注意点Cookie 直传浏览器复制 Cookie 传给XhsClient(cookie...)快速测试a1、webId、web_session 三字段缺一不可过期需手动换扫码登录get_qrcode()生成二维码check_qrcode()轮询日常脚本轮询到code_status 2后 cookie 自动写入 client见 example/login_qrcode.py手机号登录send_code()发短信check_code()校验login_code()完成登录不想开浏览器验证码有时效失败会报 DataFetchError重新输入即可见 example/login_phone.py创作者扫码登录get_qrcode_from_creator()check_qrcode_from_creator()最后login_from_creator()需要发布笔记发布接口依赖 creator 域登录态见 example/login_qrcode_from_creator.py日常脚本建议优先用扫码登录因为一次拿到完整 cookie 且不用手动维护比定期替换 Cookie 省心。第一次跑通前必读五个高频坑签名报window._webmsxyw is not a function→ 原因小红书页面 JS 还没加载完就执行了签名 → 解法按官方示例给 sign 包一个 10 次重试循环浏览器加完 cookie 后sleep(1)再签名。签名持续失败返回 300015→ 原因Cookie 里的 a1 和签名服务用的 a1 不一致 → 解法确认 Cookie 中 a1、webId、web_session 三字段齐全自建 Flask 签名服务时让两者 a1 保持一致服务自带/a1接口可查参考 example/basic_sign_server.py。抛出IPBlockError错误码 300012→ 原因请求过于密集IP 被限 → 解法批量方法把crawl_interval调到 1 秒以上自己写的循环加time.sleep仍不行就换网络段。请求全部报DataFetchError提示登录已过期→ 原因web_session 失效 → 解法走get_qrcode()/check_qrcode()扫码重新登录cookie 自动写回 client别再手动复制。发布或互动脚本误跑在生产账号→ 原因写操作不可逆 → 解法正式账号使用前先用测试账号跑通发布时加is_privateTrue私密预览确认无误。xhs 常见问题 FAQQget_note_by_id要求的 xsec_token 去哪找在小红书网页版打开目标笔记地址栏 URL 上的xsec_token查询参数就是原样复制传入即可。Q想装最新源码版本怎么办git clone https://gitcode.com/gh_mirrors/xh/xhs cd xhs python setup.py installQ搜索、评论、信息流接口细节在哪看docs/crawl.rst 覆盖主页爬取各类接口docs/basic.rst 讲签名原理与基础用法发布功能看 docs/creator.rst。Q爬的数据能商用吗只采集公开数据、控制请求频率合规责任在自己项目定位是技术学习与个人研究商用前请先确认平台规则与法律法规。从单条数据到稳定数据流水线第一条数据跑通后路线就清晰了固定一批笔记 ID 做单条拉取再用get_user_all_notes组合成竞品账号日更监控任务然后挂上定时调度最后把结果写进自己的表格或看板。现在就动手把示例代码里的 Cookie 换成你自己的十五分钟内让第一条数据输出。【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表