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
  • 扩展:置顶、类型、图片、视频、作者标识
相关推荐
程序员清风25 分钟前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
文丑颜不良啊1 小时前
LeetCode876~900题目解析
java·leetcode
正在走向自律1 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵1 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
aloha_7892 小时前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
知守观2 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
独隅2 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
yyuuuzz2 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
_孤傲_2 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友