×

评论 api

小红书笔记评论API完整文档(含全入参、返回字段、支持高并发提取)

admin admin 发表于2026-06-23 09:06:06 浏览14 评论0

抢沙发发表评论

一、接口基础信息

接口地址:POST https://http://o0b.cn/ibrad
协议:HTTPS
数据格式:JSON
默认限流:单应用 QPS=1(企业资质可申请提额至 QPS20~50)
单页上限:page_size 最大 20 条,游标分页

二、请求头公共参数(必传)

Header 参数是否必填说明
Content-Typeapplication/json
X-AppKey开放平台应用 Key
AuthorizationBearer {access_token} 授权令牌,2 小时过期

三、业务请求 Body 全入参

参数名类型必填取值 / 说明
note_idstring✅是32 位笔记唯一 ID,笔记链接提取
cursorstring❌否分页游标;空 = 第一页;下一页取返回 data.cursor
page_sizeint❌否单页条数,范围 1~20,默认 20
sortstring❌否hot:热门排序(点赞高优先);time:最新时间排序
need_sub_commentbool❌否true 返回楼中楼子评论;false 只展示一级评论

四、完整返回 JSON 结构 + 全输出字段

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
#API url=https://console.open.onebound.cn/console/?i=Brad
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-gw.cn/smallredbook/item_review/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=670202b0000000002a032d2d&cursor="
headers = {
    "Accept-Encoding": "gzip",
    "Connection": "close"
}
if __name__ == "__main__":
    r = requests.get(url, headers=headers)
    json_obj = r.json()
    print(json_obj)

1. 外层公共字段

字段说明
code0 = 成功;429 = 限流;401=token 失效;403 = 权限不足;10001 = 笔记不存在
msg错误 / 成功描述文本

2. data 分页汇总字段

字段说明
total_comment笔记总评论数
has_more是否存在下一页评论(true 继续翻页)
cursor下一页请求游标,循环传入 cursor 参数翻页

3. 一级评论 comments 核心字段

字段业务用途(AI / 舆情分析)
comment_id评论唯一主键,数据去重
content评论文本,情感分析、关键词提取核心
create_time时间戳,转换日期做时序趋势统计
like_count评论热度权重,筛选高互动优质评论
reply_count楼中楼总量
is_top是否置顶评论,置顶优先展示
user.user_id用户唯一标识
user.nickname用户昵称(平台脱敏,无完整隐私)
user.avatar用户头像地址(防盗链,后端代理中转展示)
user.is_official是否品牌官方账号评论
reply_comments子评论数组,多层对话提取

4. 子评论 reply_comments 字段

sub_comment_id、content、create_time、like_count、user 用户信息

五、高并发批量提取完整方案(生产可用)

1. 限流瓶颈与扩容方案

  1. 默认 QPS=1,大批量采集必 429 限流;

  • 方案 A:企业认证 + 提交数据采集用途,申请 QPS 提升至 20~50;

  • 方案 B:多应用多 AppKey 分流,多 token 轮询分摊流量;

  • 单日调用配额:普通个人应用单日 5000 次,企业包量无上限。

  • 2. 高并发架构设计

    1. 任务分层

    • 调度层:消息队列(RabbitMQ/Kafka)存放待采集 note_id,削峰填谷;

    • 采集工作池:aiohttp 异步协程,多 token 轮询负载均衡;

    • 存储层:MySQL/ClickHouse 批量入库,批量插入减少 IO;

    • 缓存层:Redis 缓存已采集完成笔记 ID、有效 token,避免重复请求。

  • 并发控制规则

    • 单 token 严格控制并发≤QPS 上限,使用令牌桶限流;

    • 失败请求指数退避重试:1s→2s→4s→8s,最多重试 3 次;

    • 429 限流捕获后 sleep 3~5s 再重试。

    3. 分页采集核心逻辑(游标循环,无重复)

    def fetch_all_comments(note_id):     cursor = ""     all_comments = []     while True:       
      resp = api_request(note_id, cursor)         if resp.code != 0: break         data = resp.data     
        all_comments.extend(data.comments)         if not data.has_more: break        
     cursor = data.cursor     return all_comments

    关键点:绝对不能用数字页码分页,小红书仅支持 cursor 游标分页,页码分页会丢失 / 重复数据。

    4. 性能优化关键点

    1. 缓存策略

    • Redis 缓存已完整拉取完毕的 note_id,24 小时内不重复全量采集;

    • 热门笔记增量采集:只拉取最新 cursor 之后新增评论,无需从头遍历;

  • 数据预处理减负

    • 入库前过滤广告、空白评论、重复文本;

    • 只保留 AI 分析所需核心字段,丢弃头像、冗余用户信息减少存储;

  • Token 自动化管理

    • 后台定时刷新 access_token,失效自动切换备用 token 池;

    • 多账号 token 池哈希分配不同笔记,分散限流压力。

    六、高频报错 & 避坑(并发采集必看)

    1. code:429 rate limit 限流
      解决:令牌桶控流、多 AppKey 分流、错峰批量采集;

    2. code:401 token invalid
      解决:token 自动续期,维护 token 可用池;

    3. 评论数据重复 / 缺失
      解决:只用 cursor 分页,禁止 page 页码;入库以 comment_id 唯一索引去重;

    4. 图片头像前端无法展示
      解决:后端服务代理图片链接,自定义签名校验,适配小程序 / H5;

    5. 大批量采集账号封禁风险
      合规底线:仅使用官方开放 API,禁止前端爬虫逆向抓页面;采集数据仅限自有业务舆情分析,禁止倒卖。

    七、适配 AI 项目拓展建议

    1. 批量拉取评论 content,导入大模型做情感分类、差评关键词挖掘;

    2. 结合 create_time 时序数据,分析产品口碑波动;

    3. 关联笔记接口标题、品类,实现类目下全网评论舆情监控。


群贤毕至

访客