开发者 · Agent 读取小红书

Jina Reader / Firecrawl 读不了小红书、抖音:拿到的只是一个空壳

简单说:小红书、抖音的网页是给 App 引流的空壳,内容在图片和视频里,文本抓取器拿不到。 LinkDigest 把链接读成正文、每张图上的字、视频逐字稿和热评,REST 或 MCP 一次调用,不用账号或 Cookie。

区别

同一条小红书链接,两种读法

Jina Reader / FirecrawlLinkDigest
小红书 / 抖音链接返回下载 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。