小红书笔记评论 API,Python 调用示例与完整 JSON 返回参考

以下是小红书笔记评论 API 的标准接口定义、Python 调用示例与完整 JSON 返回参考,覆盖主评论 + 子评论结构,可直接用于开发与数据解析。


一、接口基础信息(v2 标准)

  • 接口地址https://api.xiaohongshu.com/v2/notes/{note_id}/comments
  • 请求方式GET
  • 鉴权方式access_token(OAuth2.0)
  • 分页cursor 游标分页(替代传统 page)
  • 频率限制:默认每分钟 ≤ 100 次
必选参数
  • note_id:笔记 ID(从 URL 提取,如 649c46ab000000002702ad36
  • access_token:授权令牌
可选参数
  • cursor:上一页返回的游标(首次传空)
  • page_size:每页数量(默认 20,最大 100)
  • sort:排序(time 时间 / hot 热度)

二、Python 调用示例

python

运行

复制代码
import requests
import json

def get_xhs_note_comments(note_id, access_token, cursor="", page_size=20):
    """
    获取小红书笔记评论
    :param note_id: 笔记ID
    :param access_token: 授权令牌
    :param cursor: 分页游标
    :param page_size: 每页数量
    :return: 评论JSON数据
    """
    url = f"https://api.xiaohongshu.com/v2/notes/{note_id}/comments"
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
        "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
    }
    params = {
        "cursor": cursor,
        "page_size": page_size,
        "sort": "time"
    }

    try:
        response = requests.get(url, headers=headers, params=params)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
        return None

# 使用示例
if __name__ == "__main__":
    NOTE_ID = "649c46ab000000002702ad36"
    ACCESS_TOKEN = "your_access_token_here"
    
    comments = get_xhs_note_comments(NOTE_ID, ACCESS_TOKEN)
    if comments:
        print(json.dumps(comments, indent=2, ensure_ascii=False))

三、完整 JSON 返回参考(含子评论)

json

复制代码
{
  "code": 0,
  "msg": "success",
  "data": {
    "total": 128,
    "cursor": "651234567890abcdef123456",
    "has_more": true,
    "comments": [
      {
        "comment_id": "651234567890abcdef123456",
        "content": "这款产品真的太好用了,强烈推荐!",
        "create_time": 1712345678,
        "like_count": 125,
        "reply_count": 3,
        "is_top": false,
        "user": {
          "user_id": "5f8d3a3a000000000102e3a2",
          "nickname": "美妆达人小A",
          "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/5f8d3a3a000000000102e3a2.jpg",
          "is_followed": false,
          "is_official": false
        },
        "sub_comments": [
          {
            "comment_id": "651234567890abcdef123457",
            "content": "请问敏感肌可以用吗?",
            "create_time": 1712345680,
            "like_count": 15,
            "user": {
              "user_id": "5d3e6b2a000000000101c3f5",
              "nickname": "敏感肌小C",
              "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/5d3e6b2a000000000101c3f5.jpg"
            }
          },
          {
            "comment_id": "651234567890abcdef123458",
            "content": "@敏感肌小C 可以的,我也是敏感肌,用着很温和~",
            "create_time": 1712345690,
            "like_count": 8,
            "user": {
              "user_id": "5f8d3a3a000000000102e3a2",
              "nickname": "美妆达人小A",
              "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/5f8d3a3a000000000102e3a2.jpg"
            }
          }
        ]
      },
      {
        "comment_id": "651234567890abcdef123459",
        "content": "求链接!",
        "create_time": 1712345700,
        "like_count": 42,
        "reply_count": 0,
        "is_top": false,
        "user": {
          "user_id": "6a7b8c9d000000000103d4g6",
          "nickname": "种草机小B",
          "avatar": "https://sns-avatar-qc.xhscdn.com/avatar/6a7b8c9d000000000103d4g6.jpg"
        },
        "sub_comments": []
      }
    ]
  }
}

四、关键字段说明

表格

字段 类型 说明
code int 状态码(0 = 成功)
msg string 状态信息
data.total int 评论总数
data.cursor string 下一页游标(用于翻页)
data.has_more bool 是否有更多数据
comments[].comment_id string 评论唯一 ID
comments[].content string 评论内容
comments[].create_time int 发布时间戳
comments[].like_count int 点赞数
comments[].reply_count int 回复数
comments[].user object 评论用户信息
comments[].sub_comments array 子评论(回复)列表

五、常见错误码

  • 401access_token 无效或过期
  • 403:无权限访问该笔记评论
  • 429:请求频率超限(需限流重试)
  • 500:服务器内部错误

六、合规与风控提示

  1. 必须通过官方开放平台申请权限,禁止爬虫逆向接口。
  2. 严格遵守频率限制,使用缓存与指数退避重试。
  3. 用户数据脱敏,不得泄露隐私信息。
  4. 数据仅用于合规场景(如舆情分析、内容运营)。

需要我基于这个返回结构,帮你写一个Python 解析脚本,自动提取所有评论(含子评论)并保存为 CSV/Excel 吗?

相关推荐
Jun62610 小时前
QT(2)-通过管道关联CMD
开发语言·qt·命令模式
就叫_这个吧10 小时前
IDEA中Javaweb项目创建+servlet,实现简单的信息录入获取
java·servlet·intellij-idea·web
程序员Jelena10 小时前
接口调用的代码实现:从入门到实战
java
代码钢琴师10 小时前
Throttle4j 快速上手教程
java
Deep-w10 小时前
【MATLAB】基于离散 LQR 的车辆横向轨迹跟踪控制方法研究
开发语言·算法·matlab
2601_9611940210 小时前
考研资料电子版|去哪找|网盘
java·c语言·c++·python·考研·php
于先生吖10 小时前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
codeejun10 小时前
每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
开发语言·架构·golang
战族狼魂10 小时前
从零构建企业级Hermes-Agent:复杂任务拆解、工具协同与安全落地实践
开发语言·人工智能·python
小锋java123411 小时前
分享一套锋哥原创的基于LangChain4j的RAG医疗健康知识智能问答系统(SpringBoot4+Vue3+Ollama)
java·人工智能