问答
小红书返回 300011 账号异常,怎么继续采集笔记?
简短回答
300011 表示小红书把你请求背后登录的账号判定为异常,不再给这个账号返回数据。公开笔记仍然可以通过 okdata 读取,不用你的任何账号:笔记搜索每页约 20 篇,$0.02 一次;博主信息每次 $0.02。
爬虫或者 xiaohongshu-mcp 这类 MCP 工具一直用你账号的 Cookie 拉笔记,某天早上所有请求都返回 {"code": 300011, "success": false},或者工具提示账号异常、请切换账号。数据本身还是公开的,变的是小红书把这个账号当成了机器人,这个错误码跟着账号走,和你的代码写得好不好关系不大。它经常和 300012、300013 一起出现,后两个分别指向 IP 和请求频率。对公开笔记来说,办法就是干脆不再依赖账号。
别再依赖账号
重新登录或者再买个号,只是把倒计时重新开始。如果你的任务只是读公开笔记和博主主页,交给一个替你取数的 API,账号就不在链路里了。okdata 只需要一个 API key,小红书那边看不到你的任何账号,也就没有东西可以被风控。
每天跑一次要多少钱
假设每天盯 3 个关键词,再看 10 个博主。
| 每日任务 | 调用次数 | 费用 |
|---|---|---|
| 3 个关键词,各翻 2 页 | 6 | $0.12 |
| 10 个博主信息 | 10 | $0.20 |
| 一天合计 | 16 | {{cost:xiaohongshu.notes.search6+xiaohongshu.users.get10}} |
| 三十天 | 480 | {{cost:xiaohongshu.notes.search180+xiaohongshu.users.get300}} |
失败的调用不扣费;24 小时内带同一个 Idempotency-Key 重发也不扣费。
Python 示例
import os, requests
r = requests.get(
"https://api.okdata.online/v1/xiaohongshu/users/get",
headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
params={"url": "https://www.xiaohongshu.com/user/profile/5f1234567890abcdef123456"},
timeout=60,
)
body = r.json()
print(body["data"]["item"]["followers"], body["meta"]["billing"]["amount"])
出错时返回里有 charged 和 retry 两个字段,程序据此判断是等一会儿重试还是先改参数。完整列表见错误码说明。
换来的代价
- 需要登录的东西都拿不到:自己的首页推荐、私密笔记、私信、发帖。这里只有只读的公开数据。
- 浏览量拿不到。小红书前台不展示,
metrics.views为 null,meta.unavailable会说明原因。 - 评论下的楼中楼拿不到。评论接口返回一级评论,每条带回复数。
如果你确实需要用账号发帖或回复评论,那部分继续用登录态工具,并且把频率压到很低,这是避开 300011 的唯一办法。只读的部分,可以参考竞品监测方案里每天定时跑的做法。
更新于