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
  • 扩展:置顶、类型、图片、视频、作者标识
相关推荐
小bo波18 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
nanxun8862 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103512 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师2 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师2 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 天前
mac(m5)平台编译openjdk
java
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
唐青枫3 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马3 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端