开发者 · Agent 读取小红书
Jina Reader / Firecrawl 读不了小红书、抖音:拿到的只是一个空壳
简单说:小红书、抖音的网页是给 App 引流的空壳,内容在图片和视频里,文本抓取器拿不到。 LinkDigest 把链接读成正文、每张图上的字、视频逐字稿和热评,REST 或 MCP 一次调用,不用账号或 Cookie。
区别
同一条小红书链接,两种读法
| Jina Reader / Firecrawl | LinkDigest | |
|---|---|---|
| 小红书 / 抖音链接 | 返回下载 App 的页面壳:一个标题和空的 <div id="app"> | 笔记正文、每张图、视频——小红书图文和视频笔记,抖音视频和图文 |
| 图片上的字 | 页面壳里没有图,无从识别 | 每张图的描述 + 图上文字(OCR) |
| 视频口播 | — | 逐字稿,带时间;只要文案可选 depth: "script" |
| 热评 | — | 分享页显示的前几条热评 |
| 读失败时 | 当作成功返回那个空壳 | degraded 写明缺什么;什么都没读到不扣费 |
| 普通网页、文档站 | 很合适,还能整站爬 | 只做一条一条读,普通网页是简单的正文提取 |
| 价格 | 各自定价 | 图文 1 积分(约 ¥0.144),1 分钟视频 2 积分;读过的链接 0 积分 |
Jina Reader 和 Firecrawl 在小红书、抖音上的表现是用真实链接观察到的;社区里常见的做法是 Firecrawl → Jina → Playwright 层层兜底。读普通网页、整站爬取,它们是更好的工具。
接入
在 Agent 里分工:小红书、抖音链接交给 LinkDigest
curl -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://www.xiaohongshu.com/discovery/item/...?xsec_token=...", "format": "markdown"}'Claude Code / Cursor 用 MCP,一行接入:
claude mcp add --transport http linkdigest \ https://linkdigest.dev/mcp \ --header "Authorization: Bearer ld_live_..."
相关:ChatGPT 为什么打不开小红书、抖音链接 · 小红书 MCP · MediaCrawler 替代 · English
常见问题
会被问到的
- 为什么 Jina Reader / Firecrawl 读不出小红书笔记?
- 服务器去抓小红书、抖音的网页,拿到的是一个由前端脚本渲染的空壳(让你下载 App),去掉脚本只剩一两百个字符。笔记真正的内容在图片和视频里——图上的字、视频口播——文本抓取器再好也没东西可抓。
- 那应该怎么读?
- 把链接交给能看图、能听视频的读取:LinkDigest 读小红书的公开分享页、抖音自己的嵌入播放器,把每张图读出文字、把视频转成逐字稿,返回 Markdown 或 JSON。在 Agent 里可以这样分工:普通网页继续用 Jina / Firecrawl,遇到小红书、抖音、微博、B站、公众号、小宇宙链接交给 LinkDigest。
- 要登录小红书或抖音吗?
- 不用。不要账号、不要 Cookie,你没有账号可封。只读公开内容;笔记被删除、设为私密或分享链接过期时,会如实返回读不了,不扣费。
- 要多少钱?
- 注册送 10 积分,不用绑卡。图文 1 积分起,1 分钟视频 2 积分;读过的链接再读 0 积分,读不出来不扣费。之后支付宝 ¥9.9 买 50 积分,一次性、不订阅、不过期。
不用注册先试一条;注册送 10 积分,不用绑卡。支持的平台上有链接读不出来,就是一个值得报告的 bug。