把小红书账号拆成结构化报告(xhs-account-teardown)

xhs-account-teardown 是一个 Python 编写的 AI Agent Skill,输入小红书账号链接,匿名抓主页与封面图,按六问框架产出《账号拆解报告》和一张 9:16 长图。这篇文章说明它能抓到什么、抓不到什么、怎么装怎么跑,以及它和同类方案的取舍。

小红书没有开放的数据接口,匿名访问能拿到的东西卡得很死。账号主页的 SSR 里有用户信息和第一页笔记列表,上限 8 篇;笔记详情页要求笔记级的 xsec_token,翻页列表、搜索、评论和 feed 流都要 x-s 签名。这个仓库把这条窄缝固定成一条流水线:抓主页、下封面、逐张识图,按一套六问框架写成《账号拆解报告》,默认再配一张可分享的 9:16 长图。

xhs-account-teardown 是一个 Python 编写的 AI Agent Skill,输入一个小红书账号链接,匿名抓取主页与封面图,产出六问式《账号拆解报告》,默认生成一张 9:16 长图。

它不绑定具体厂商。SKILL.md 是标准格式,能读 SKILL.md、能执行 shell、能识图的 Agent 都能加载;也可以完全不接 Agent,直接跑两个脚本自己看图、照模板写报告。抓取脚本只依赖 python3 与 curl,不需要安装第三方包。仓库地址是 chenjin-cmd/xhs-account-teardown,许可证为 MIT,主要语言是 Python,当前 28 个 Star、5 个 Fork、0 个开放 Issue。

小红书账号拆解项目的横幅与徽章

基础用法

安装与依赖

运行环境是 Python 3.9+ 与 curl,两者之外没有别的依赖,macOS 与 Linux 开箱可用。Windows 上 curl 自 Win10 起内置,但 python3 这个命令名常常不存在,多半是 python 或 py,省事的做法是在 WSL 或 Git Bash 里跑,否则要按本机情况调整脚本里的调用命令。

加载方式是把仓库复制或软链到所用工具的 skills 目录。Claude Code 的全局目录是 ~/.claude/skills/,项目级目录是 <你的项目>/.claude/skills/,QwenWork 是 ~/.qwenworkcn/skills/,其他兼容 SKILL.md 的平台用各自的 skills 目录。

ln -s /path/to/xhs-account-teardown ~/.claude/skills/xhs-account-teardown

装好后对 Agent 说「拆解这个账号 <链接>」即可触发。宿主需要四项能力:执行 shell 命令、读取本地图片、写文件、生成并读取本地图片。缺哪项都有对应的降级路径。没有识图能力,就只能拿到 profile.json 和 notes_list.json 的数据骨架,识图部分标「未获取」;不能生成图片,就只交付 Markdown 报告,并写明长图未生成,不允许用文字或空白文件替代图片。工具完全不吃 SKILL.md 时,可以把 SKILL.md 正文贴进规则文件,脚本手动调用。

最短能跑通的示例

python3 scripts/fetch_profile.py "https://www.xiaohongshu.com/user/profile/<user_id>" -o ./work/<账号名>/

链接里的 xsec_token 可以缺省,主页列表匿名可抓。这一跑产出三个东西:profile.json、notes_list.json、covers/cover1..N.jpg。

要做全文级拆解,需要一条带 token 的笔记链接,由用户从登录态浏览器的地址栏整链复制:

python3 scripts/fetch_note.py "https://www.xiaohongshu.com/explore/<noteId>?xsec_token=...&xsec_source=..." -o ./work/<账号名>/notes/<noteId>/

产出 meta.json、desc.md、img1..N.jpg。

确认它跑起来了

抓取脚本成不成功,看输出目录就行。-o 指向的目录里出现 profile.json 与 notes_list.json,covers/ 下有连续的封面文件,说明主页这一跑拿到了数据;笔记详情那条命令则看 meta.json 与 img1..N.jpg 有没有落地。

走完整 Agent 工作流时,报告和 账号拆解长图.png 落在工作目录里。README 给的核验清单有五项:9:16 比例、文字可读性、与报告的事实一致性、没有虚构数据、与账号调性匹配。核验不通过只做一次针对性修订。

主要功能

抓取与数据获取

  • 匿名抓主页:用手机 UA 请求 /user/profile/<id> 的 SSR,解析 window.__INITIAL_STATE__,拿到昵称、redId、简介、粉丝、关注、赞藏、合集名。第一页笔记列表一并带出,字段包括笔记 id、标题、类型、点赞、收藏、评论、是否置顶,上限 8 篇,第二页及以后需要 x-s 签名,匿名抓不到。
  • 封面图下载:封面是 CDN 签名直链,可以直接下载。下载过程是串行限速的,同一 IP 高频请求会触发风控,失败时不要无限重试,重试只会延长封锁。
  • 单条笔记详情:scripts/fetch_note.py 能拿到正文、标签、互动数据和全部图片,前提是链接里带笔记级的 xsec_token。这是全文级拆解的唯一入口。

拆解框架与报告产出

  • 封面识图拆解:逐张读封面,登记栏目期号、被拆对象的截图字段(昵称、评分、已售、粉丝、更新频率、售后标签)、品类、客单价、橱窗销量、钩子句、点睛句。宿主缺识图能力时,这部分只能标「未获取」。
  • 六问式成稿:按 references/teardown-framework.md 的六问产出报告,问题依次是这门生意赚的是谁的钱、具体靠什么赚钱、怎么让人看见并且想买、看完之后怎么让人下单、普通人能不能学、最大的风险是什么。每一问以一句加粗公式收尾,全文结尾固定三段:能抄的、抄不了的、最大的坑。框架原本用于拆卖货账号,文末给了拆任意内容账号的字段替换表,把「品类」换成「内容赛道」、「赚谁的钱」换成「赚谁的注意力与信任」这类。
  • 账号调性长图:默认把报告压成一张 9:16 长图,视觉语言从该账号封面里抽取赛道、主色、对比度、材质、版式、情绪等抽象元素后重新生成,不直接复制头像、人物、商标或封面原图。长图未生成时必须明确标注,不能用占位文件顶替。
  • 不接 Agent 的降级用法:直接跑两个脚本拿数据和封面,自己看图,照 templates/report-template.md 写报告。仓库里说得很直白,这个 skill 的价值主要在框架文档里。

参数与配置

常用参数

两个脚本的参数很少。位置参数是一条小红书链接,-o 指定输出目录,示例里按账号名和 noteId 分目录存放。链接本身也携带参数:主页链接里的 xsec_token 可缺省;笔记详情链接必须同时带 xsec_token 与 xsec_source,从登录态浏览器地址栏整链复制。仓库里没有说明其他命令行开关。

配置文件

仓库里没有独立配置文件,也没有可调的阈值或开关。行为约束分散在几份 Markdown 文档里:SKILL.md 定义触发词、工作流、宿主能力要求、抓取边界与报告硬约束;AGENTS.md 是给任意 AI 工具的仓库工作说明,含硬约束与隐私约束;CLAUDE.md 只是一个兼容入口,指向 AGENTS.md。拆解框架在 references/teardown-framework.md,报告空模板在 templates/report-template.md,这两份是可以直接改的。抓不到的数据一律写「未获取」,这条约束写在文档层面,脚本里没有对应的开关。

实际使用中的坑

README 专门用一节列出 token 相关的三个坑,并标注这三个都实测过。

  • token 与笔记绑定:从 A 笔记复制的 token 拿去请求 B 笔记,SSR 返回空的 noteData,不报错、不跳转,就是空。排查时容易误判成脚本坏了,实际是 token 用错了对象。
  • 两种 id 不通用:主页列表给的是 32 位 hex id,/discovery/item/ 需要的是另一个 24 位 noteId,前者不能直接拼进详情路由。
  • 风控是 IP 级的:封面下载串行限速,同一 IP 高频请求会触发风控,失败后重试只会延长封锁。
  • Windows 上的命令名:python3 在 Windows 上常常不存在,要在 WSL 或 Git Bash 里跑,或者改脚本里的调用命令。

完整成稿样例不随仓库分发。README 的说法是,逐页识图记录、封面目录、被拆账号名与经营数据含真实第三方账号信息,公开不合适;references/teardown-framework.md 本身已经脱敏,只保留六问结构、每问要看的信息位和公式骨架。想看端到端的样例报告,得自己挑一个有权分析的账号跑一遍完整工作流。

几个同类怎么选

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
xhs-account-teardown做小红书账号分析的自媒体运营与内容策划,想要一份按固定框架产出、可直接分享的报告把仓库复制或软链到 Agent 的 skills 目录,依赖 python3 与 curl,无第三方包匿名只能抓主页与第一页最多 8 篇笔记;笔记详情必须由人提供带 xsec_token 的链接;完整成稿样例不随仓库分发只需要主页画像加封面级拆解,且不想登录账号时xhs-account-teardown
Skyvern需要把通用网页操作交给大模型执行的自动化使用者仓库没有说明未逐一核实目标站点不限于小红书,需要在登录态内操作或走跨站流程时Skyvern
Semantica要把企业多个数据源汇成可溯源知识图谱的团队仓库没有说明未逐一核实需要长期沉淀结构化知识、单个账号一份报告不够用时Semantica

如果目标站点不止小红书,或者要在登录态里完成下载、填表、翻页这类操作,本项目那两个静态脚本做不了,该去看 Skyvern 那一类把网页操作交给大模型执行的项目。如果要做的是把多个数据源长期沉淀成可追溯的知识库,本项目只产出单个账号的一份报告,Semantica 那一类更对路。反过来,只拆小红书账号、又不想提供账号密码时,这个仓库现成的匿名边界和六问框架就能直接用,不必自己从零设计分析维度。

合规限制

这套脚本的适用对象是自有账号或已获授权的账号。匿名访问不等于可以无限取用:小红书的风控是 IP 级的,高频请求会被封,README 明确要求失败时不要重试。用脚本抓取无关的第三方账号、做批量采集,或者把识图得到的经营数据对外发布,可能侵犯第三方权益,也会踩到平台规则,风险由使用者承担。仓库本身已经把边界写进 SKILL.md 与 AGENTS.md,交付时抓不到的数据一律标注「未获取」,不允许编造。

适合谁

适合做小红书账号分析的自媒体运营和内容策划,尤其是想用一套固定框架、不必每次从零想分析维度的人。已经在用 Claude Code、QwenWork 这类能读 SKILL.md 的 Agent,希望把拆解动作固定成可复用流程的用户,也是它的目标场景。两个脚本能独立运行,不接 Agent 照样拿得到数据和封面。

不适合要批量采集、翻页抓取、搜索数据或评论数据的人,也不适合要抓登录态内容、或者把覆盖面扩到小红书以外站点的人,README 把这类需求指向了第三方 xiaohongshu-skills 项目。还有一种情况要提前想清楚:拿不到带 token 的笔记链接时,交付的默认形态只有主页画像加封面级拆解,报告深度会明显低一档。

内容核验说明

仓库把小红书匿名抓取的窄边界写清楚了:能拿什么、拿不到什么、token 用错会静默返回空数据。真正值得留下的是那份六问框架和字段替换表,脚本本身很短,价值集中在分析维度上。适合已有 Agent 环境、只拆自有或授权账号的运营和内容策划;要批量采集、翻页搜索或抓登录态内容的不合适。完整样例不随仓库分发,实际效果得自己跑一遍才清楚。

星标、Fork、Issue 数与许可证来自 GitHub 公开接口在抓取时点的快照,诀.com 未独立验证。抓取上限、token 规则、IP 级风控等说明来自作者 README 与仓库文档,其中三个 token 坑作者自述「实测过」,属原作者公开披露,诀.com 未独立复现验证,结果不保证复现。

项目来源与说明

开源项目:chenjin-cmd(chenjin-cmd)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库