Python解析小红书(XHS)笔记评论 API,json数据返回参考

小红书(XHS)笔记评论 API(以开放平台 v2 标准为主)返回结构清晰,包含评论主体、用户信息、互动数据、层级回复、分页游标,完整 JSON 如下(含字段说明)。


一、接口基础(v2)

  • 地址:GET https://api.xiaohongshu.com/v2/notes/{note_id}/comments
  • 鉴权:access_token(OAuth 2.0)
  • 分页:cursor 游标(非 page)
  • 排序:sort=time(最新)/ hot(最热)
  • 返回:JSON

二、顶层 JSON 结构(完整)

json

复制代码
{
  "code": 200,
  "msg": "success",
  "request_id": "649c46ab000000002702ad36",
  "data": {
    "note_id": "649c46ab000000002702ad36",
    "total": 1568,
    "cursor": "a1b2c3d4e5f6",
    "has_more": true,
    "comments": [
      {
        "comment_id": "c_123456",
        "content": "这款真的超好用!已经回购三次了~",
        "create_time": 1744262400,
        "like_count": 128,
        "reply_count": 5,
        "is_top": false,
        "comment_type": 0,
        "user": {
          "user_id": "u_7890ab",
          "nickname": "草莓奶盖不加糖",
          "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/xxx.jpg",
          "user_role": "normal",
          "is_follower": false
        },
        "reply_comments": [
          {
            "comment_id": "r_7890",
            "content": "求链接!!",
            "create_time": 1744262500,
            "like_count": 12,
            "user": {
              "user_id": "u_cdef12",
              "nickname": "美妆小达人",
              "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/yyy.jpg"
            }
          }
        ],
        "images": [],
        "video": null
      }
    ]
  }
}

三、关键字段说明

1. 顶层状态

  • code:200 = 成功
  • msg:success / 错误信息
  • request_id:请求唯一 ID(排查用)

2. 数据层(data)

  • note_id:笔记 ID
  • total:总评论数
  • cursor:下一页游标(翻页用)
  • has_more:是否还有更多
  • comments:一级评论数组(核心)

3. 单条评论(comments [])

  • comment_id:评论唯一 ID
  • content:评论文本(支持表情 /@)
  • create_time:时间戳(秒)
  • like_count:点赞数
  • reply_count:回复数
  • is_top:是否置顶
  • comment_type:0 = 普通,1 = 作者回复

4. 用户信息(user)

  • user_id:用户 ID
  • nickname:昵称
  • avatar:头像 URL
  • user_role:normal/author(作者)

5. 回复评论(reply_comments)

  • 二级评论(楼中楼)
  • 结构同一级评论(不含reply_comments

6. 多媒体(images/video)

  • images:晒图 URL 数组
  • video:视频信息(cover/url)

四、常用简化版(采集常用)

json

复制代码
{
  "code": 200,
  "data": {
    "total": 1568,
    "cursor": "a1b2c3d4e5f6",
    "comments": [
      {
        "id": "c_123456",
        "content": "这款真的超好用!",
        "time": 1744262400,
        "like": 128,
        "user": {
          "id": "u_7890ab",
          "name": "草莓奶盖不加糖",
          "avatar": "https://..."
        },
        "replies": [
          {
            "content": "求链接!!",
            "time": 1744262500,
            "user": { "name": "美妆小达人" }
          }
        ]
      }
    ]
  }
}

五、Python 极简解析

python

运行

复制代码
import requests

headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
url = "https://api.xiaohongshu.com/v2/notes/649c46ab000000002702ad36/comments"
params = {"cursor": "", "page_size": 20, "sort": "time"}

resp = requests.get(url, headers=headers, params=params)
data = resp.json()

for c in data["data"]["comments"]:
    print(f"用户:{c['user']['nickname']}")
    print(f"内容:{c['content']}")
    print(f"点赞:{c['like_count']}")
    print(f"时间:{c['create_time']}")
    print(f"回复数:{c['reply_count']}")
    print("-" * 50)

六、常见状态码

  • 200 成功
  • 401 token 无效 / 过期
  • 403 无权限 / 限流
  • 429 请求频率超限
  • 500 服务器错误

总结

小红书评论 API 返回:

  • 基础:ID、内容、时间、点赞、用户(昵称 / 头像)
  • 层级 :一级评论 + 二级回复(reply_comments
  • 分页cursor + has_more
  • 扩展:置顶、类型、图片、视频、作者标识
相关推荐
努力努力再努力wz2 小时前
【C++高阶系列】告别内查找局限:基于磁盘 I/O 视角的 B 树深度剖析与 C++ 泛型实现!(附B树实现源码)
java·linux·开发语言·数据结构·c++·b树·算法
reasonsummer2 小时前
【教学类-160-03】20260410 AI视频培训-练习3“豆包AI视频《孔子教育之旅》+豆包图片风格:中国风(平面图)”
数据库
hero.fei2 小时前
RoaringBitmap在SpringBoot中的使用以及与BitSet对比
java·spring boot·spring
Traving Yu2 小时前
Spring源码与框架原理
java·后端·spring
曹牧2 小时前
oracle kv字符串转换为多行两列
数据库·oracle
mhkxbq2 小时前
昆仑G5580、G5680 V2、G2280及泰山鲲鹏200,AI大数据优选服务器
大数据·服务器·人工智能
Lyyaoo.2 小时前
【JAVA基础面经】线程安全的单例模式
java·安全·单例模式
_李小白2 小时前
【OSG学习笔记】Day 39: NodeCallback(帧回调机制)
java·笔记·学习
如来神掌十八式2 小时前
设计模式之装饰器模式
java·设计模式