问答
小红书分享链接(xhslink.com)怎么解析成笔记数据?
简短回答
把链接作为 url 传给 okdata 的小红书笔记详情接口,xhslink.com 短链会自动解析,每篇 $0.02,返回笔记 ID、标题、全文、图片、点赞、收藏和评论数。注意先从分享口令里把链接提取出来,接口接收的是链接,不是整段文字。
博主交稿时发来的往往是 App 里的分享口令:一段文字,带标题、表情,中间夹着一个 http://xhslink.com/... 链接。你想把每篇整理成一行,有笔记 ID,也有当天的数据。短链要经过小红书跳转,很多下载工具在这一步就失败了,尤其是新的 xhslink.com/o/... 移动端链接,或者跳转时 Cookie 没带过去。笔记详情接口直接接受短链,返回笔记 ID 和各项数据。
一个链接一次调用
小红书笔记详情的 url 参数可以是:
- xhslink.com 短链,路径不限;
xiaohongshu.com/explore/<id>或/discovery/item/<id>网页链接,带不带后面的查询参数都行。
短链由我们这边解析。返回里有笔记 id(存下来,之后可以直接用 ID 调)、标题、全文、图片链接、发布时间、点赞、收藏、评论和分享数、话题标签和作者。
费用
| 链接数 | 调用次数 | 费用 |
|---|---|---|
| 1 | 1 | $0.02 |
| 40 篇投放笔记 | 40 | $0.80 |
| 40 篇,每周查一次,查 8 周 | 320 | $6.40 |
从分享口令到数据
import os, re, requests
share = "【某品牌新品】超好用! http://xhslink.com/a/AbCdEf 复制本条信息,打开小红书App查看"
link = re.search(r"https?://[^\s,,]+", share).group(0)
r = requests.get(
"https://api.okdata.online/v1/xiaohongshu/notes/get",
headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
params={"url": link, "fields": "id,title,published_at,metrics"},
timeout=60,
)
print(r.json()["data"]["item"])
如果传入的 xiaohongshu.com 链接不是笔记页,会返回 invalid_params 并用一句话说明原因,不扣费。
容易踩的坑
id和url只传一个,别同时传。- 博主主页的分享链接不是笔记。主页链接请交给博主信息接口,它同样接受 xhslink.com 短链。
- 已删除或设为私密的笔记返回
not_found,不扣费。投放笔记被博主悄悄下掉,往往就是这样发现的。 - 小红书不公开浏览量,
metrics.views为 null。
其他办法
如果你要的是把图片、视频文件存到本地,XHS-Downloader 一类工具配合自己的浏览器登录态就能做得很好。只有几个链接的话,在 App 里打开记一下数字也行。要在几周里持续跟踪大量投放笔记,可以看竞品监测方案,用的是同一个接口,只是定时去跑。
更新于