小红书笔记评论 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 吗?

相关推荐
lifewange2 小时前
java连接Mysql数据库
java·数据库·mysql
云原生指北3 小时前
命令行四件套:fd-rg-fzf-bat
java·大数据·elasticsearch
南境十里·墨染春水3 小时前
C++ 笔记 友元(面向对象)
开发语言·c++·笔记
TT_44193 小时前
python程序实现图片截图溯源功能
开发语言·python
笨笨饿3 小时前
20_Git 仓库使用手册 - 初学者指南
c语言·开发语言·嵌入式硬件·mcu·学习
人间打气筒(Ada)3 小时前
go实战案例:如何通过 Service Meh 实现熔断和限流
java·开发语言·golang·web·istio·service mesh·熔断限流
桦04 小时前
[C++复习]:STL
开发语言·c++
主宰者4 小时前
C# CommunityToolkit.Mvvm全局事件
java·前端·c#
计算机学姐4 小时前
基于SpringBoot的咖啡店管理系统【个性化推荐+数据可视化统计+配送信息】
java·vue.js·spring boot·后端·mysql·信息可视化·tomcat