
xhs 小红书数据采集工具使用指南一张能力边界清单与 20 分钟上手路线【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhsxhs 是一款基于 Python 封装小红书 Web 端请求的数据采集工具。它不承诺一键抓遍全站而是把笔记、用户、评论等公开数据的请求封装成一行行清晰的方法调用。这篇文章不打算按安装→功能列表→案例的套路罗列而是先带你划清它的能力边界——能做什么、不能做什么、适合谁、不适合谁最后用 20 分钟走完一个完整的最小上手闭环。在动手之前先看清这个工具的真实定位很多新手第一次见到 xhs会误以为它是一个打开就能下载的桌面爬虫。实际上它的官方定位是请求封装库既封装了小红书 Web 端www.xiaohongshu.com也封装了创作者服务页creator.xiaohongshu.com目前版本号 0.2.13采用 MIT 协议开源。这意味着两件事它能替你把最繁琐的部分做完——比如构造请求头、拼接签名、解析返回的 JSON 结构。它把最脏的活留给了你——比如登录态的获取、签名算法的运行环境、请求频率的把控。理解这一点你就不会对它产生不切实际的期待后面的所有操作也会顺理成章。一张表看懂它能做什么不能做什么与其背功能清单不如直接看这张边界表。它决定了你选择 xhs 之前先要接受哪些前提。维度它能做的它不能做的笔记数据按 ID 获取笔记详情、按关键词搜索笔记、抓取首页推荐流绕过平台风控拿到被限制展示的内容用户数据获取用户公开资料、用户发布的全部笔记、收藏与点赞列表获取仅粉丝可见的私密内容评论数据单条评论、子评论、一键拉取某篇笔记的全部评论破解验证码遇到会直接抛 NeedVerifyError互动操作点赞、收藏、关注、评论基于你的登录态破解 x-s 签名算法签名函数需要你自己提供创作者功能发布图文/视频笔记、查看数据统计、处理消息通知绕过平台的频率限制和 IP 封锁一句话总结xhs 放大的是你能合法访问的公开数据而不是平台想挡住的数据。它能做的四层能力地图采集层笔记详情、用户资料、关键词搜索、主页推荐、评论体系覆盖日常分析所需的大多数数据源。交互层点赞、收藏、关注、评论等操作全部基于你自己的登录态执行。创作者层通过 creator 接口完成笔记发布图文、视频均可、数据统计拉取、消息通知读取。工具层从笔记中提取图片、视频直链甚至一键把某篇笔记的图文下载到本地。它不能做的三条红线要记牢不绕验证码源码里明确写了遇到 461/471 状态码会抛出 NeedVerifyError并把 Verifytype 和 Verifyuuid 一并告诉你让你自己处理。不破解签名x-s 签名是调用方的责任项目提供的是签名接入的通道而不是签名本身。不越权抓取遇到笔记状态异常或当前内容无法展示对应错误码 -510001它只会如实告诉你而不是想方设法绕过。卡住新手的第一道门槛签名与登录如果你曾试过直接请求小红书接口大概率会碰壁在 x-s 签名上。xhs 的处理思路很务实把签名做成可插拔的。最简单的路径传入你自己实现的sign函数项目会按约定把 uri、data、a1 等参数交给它。官方推荐的路径用 playwright 模拟浏览器执行 JS 签名配合 stealth.min.js 绕过环境检测详见 docs/basic.rst。进阶的路径把 playwright 签名封装成独立的 Flask 服务见项目根目录的 xhs-api/多账号共用一套签名服务注意各账号 cookie 中的 a1 保持一致。至于登录态cookie 里a1、web_session、webId三个字段是必需项。项目提供了现成的二维码登录和手机号登录示例可以生成并换取带登录态的 cookie。20 分钟最小上手闭环从安装到拿到一篇笔记下面我们设定一个具体任务抓取某篇公开笔记的标题、正文和点赞数。目标很小但足以把整条链路跑通。第 1 步环境初始化约 3 分钟pip install xhs # 安装 xhs 库 pip install playwright # 安装签名所需的浏览器驱动 playwright install # 下载浏览器内核还需要一份 stealth.min.js 文件用于在签名时绕过浏览器的自动化检测。官方文档 docs/basic.rst 里给出了获取方式。第 2 步准备登录 cookie约 5 分钟用浏览器打开并登录小红书网页版在开发者工具中复制你的 cookie 字符串。这是整个流程里唯一手动的一步但无法省掉——签名和大多数接口都依赖它。第 3 步跑通最小示例约 10 分钟from xhs import XhsClient, DataFetchError # 把 cookie 替换成你自己的登录态 cookie 你的 cookie 字符串 # sign 函数可参考 example/basic_usage.py 中 playwright 的实现 xhs_client XhsClient(cookie, signsign) try: note xhs_client.get_note_by_id(笔记ID, 笔记的xsec_token) print(note[title]) # 标题 print(note[desc]) # 正文 print(note[interact_info][liked_count]) # 点赞数 except DataFetchError as e: print(请求失败, e)小提示签名偶尔会失败官方示例里用循环重试 短暂 sleep 来消化这个问题属于正常操作。第 4 步从单篇扩展到批量拿到单篇笔记后你很容易触类旁通get_user_all_notes(user_id)配合内置的crawl_interval参数可以按节奏拉取某位作者的公开笔记。get_note_all_comments(note_id)会把主评论和所有子评论一起拉齐适合做内容互动分析。get_note_by_keyword(keyword, sortSearchSortType.MOST_POPULAR)可以按热度搜索指定话题下的笔记。这些方法的具体签名都能在 docs/crawl.rst 中找到。适合谁、不适合谁理性对比用户类型是否推荐原因有 Python 基础的内容运营推荐能读懂示例代码批量分析笔记和竞品账号电商数据选品人员推荐笔记热度、评论情绪是现成的选品信号只想点几下就导出的纯小白不推荐需要写代码且要先解决签名与登录想做高频、全站级抓取的人不推荐平台风控会拦住你工具也明确不绕验证码创作者 / MCN推荐创作者接口支持发笔记、看数据一套代码打通发布与分析公开数据采集的合规底线数据采集工具的价值建立在合法使用之上xhs 的官方文档也专门提示了这一点。这里给你四条可执行的准则只采集公开可访问的数据不尝试任何越权行为。控制请求频率代码里预留的crawl_interval、sleep参数就是给你用的别省。合理使用登录态不要利用自己的账号做批量互动刷量。数据用途合规采集到的内容用于分析前先确认是否符合相关法律与平台规则。下一步从能跑到稳定跑当你跑通第一行代码后真正拉开差距的是稳定性。建议按这个顺序进阶先看全文档入门读 docs/basic.rst采集接口清单看 docs/crawl.rst发笔记与创作者功能看 docs/creator.rst。再读示例项目 example/ 目录下的 basic_sign_server.py、login_qrcode.py、login_phone.py 分别演示了签名服务、扫码登录和手机号登录是很好的参照。最后优化架构把签名服务独立部署、把采集任务加上重试与限速、把结果落到数据库你的采集链路就真正可用了。数据采集的本质是用合理的代价换取公开的信息。xhs 帮你把代价降到最低剩下的边界意识掌握在你自己手里。【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考