问答
人在海外,怎么让 AI 读到国内版小红书的数据?
简短回答
别让智能体自己开网页,改成通过接口读小红书:okdata 在任何国家都能返回小红书公开笔记,不需要小红书账号,也不需要国内手机号。按关键词搜一次 $0.02,约 20 篇;热点话题榜每次 $0.02。
一个在新加坡的品牌团队,想让调研智能体每周回答一个问题:国内女生最近在小红书上怎么聊防晒。智能体跑在美国弗吉尼亚的服务器上。基于浏览器的小红书工具从海外 IP 打开会被跳转到 RedNote,注册账号一般又要国内手机号。两个问题一起绕开的办法,是别再让智能体开网页:它调接口,接口去读小红书公开页面,智能体不管跑在哪儿都拿到同样的 JSON。
大部分调研靠这三个接口
一定用中文搜。笔记绝大多数是中文写的,搜防晒霜得到的结果比搜 sunscreen 多得多。可以让模型在进来时把英文需求翻成中文关键词,出去时再用英文写总结,并附上中文原句。
每周扫一次,花多少
| 任务 | 调用次数 | 费用 |
|---|---|---|
| 10 个中文关键词,各翻 2 页 | 20 | $0.40 |
| 热点话题,一周每天看一次 | 7 | $0.14 |
| 点赞最高的 30 篇读全文 | 30 | $0.60 |
| 整个周度扫描 | 57 | {{cost:xiaohongshu.notes.search20+xiaohongshu.trends.list7+xiaohongshu.notes.get*30}} |
价格以美元计。余额预充值,海外团队用银行卡就行,支付宝、微信支付也可以;新 key 自带 $0.10 试用额度。
代码
import os, requests
API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
def notes(query, pages=2):
cursor, out = None, []
for _ in range(pages):
params = {"query": query, "sort": "popular",
"fields": "id,url,title,text,metrics.likes,metrics.favorites,published_at"}
if cursor:
params["cursor"] = cursor
body = requests.get(API + "/v1/xiaohongshu/notes/search", headers=H, params=params, timeout=60).json()
if body["code"] != "ok":
raise RuntimeError(f"{body['code']}: {body['message']}")
out += body["data"]["items"]
if not body["page"]["has_more"]:
break
cursor = body["page"]["next_cursor"]
return out
batch = notes("防晒霜 推荐")
print(len(batch), "篇,交给模型:用英文总结,引用中文原文")
容易卡住的地方
- 小红书不显示浏览量,
metrics.views是 null。排序看点赞、收藏和评论就够了。 - 每翻一页单独计费。周度阅读的话,每个关键词两页通常够用。
- 只返回公开笔记,登录后才能看的内容和私信都拿不到。
- 数据在你调用时实时读取,
meta.fetched_at会告诉智能体数据有多新。
其他路子
请国内同事用自己的账号手动搜,对一次性的问题往往就够了。千瓜、新红这类国内数据平台适合想看图表和博主榜单、不想碰原始数据的团队,不过界面是中文的,而且按月付费。智能体的接入方式见 MCP 页,这类问题的更多玩法见热点与趋势方案。
更新于