ITPub博客

首页 > 大数据 > 数据分析 > 小红书笔记评论一键获取:开放API接口实操案例

小红书笔记评论一键获取:开放API接口实操案例

原创 数据分析 作者:OneLafite 时间:2025-09-02 10:54:10 0 删除 编辑

一、官方API方案(推荐)

1.  注册与认证

  • 步骤:
    1. 访问小红书开放平台注册开发者账号。
    2. 创建应用,提交企业资质或个人身份信息,审核通过后获取 app_id、 app_secret及 access_token。

2.  API调用参数

  • 核心参数:
    • note_id:笔记唯一标识符(如 649c46ab000000002702ad36)。
    • page:分页页码(默认为1)。
    • page_size:每页返回评论数(默认为10)。
    • timestamp:请求时间戳(用于签名验证)。
    • sign:签名(通过 app_id、 app_secret、时间戳及参数生成MD5加密)。
  • 接口地址:
    • 官方假设地址: https://api.xiaohongshu.com/v2/notes/{note_id}/comments
    • 第三方工具地址(需验证): https://api.xiaohongshu.com/comment/get

3.  Python示例代码

pythonimport requestsimport hashlibimport timedef get_comments(note_id, access_token, page=1, page_size=10):url = f"https://api.xiaohongshu.com/v2/notes/{note_id}/comments"timestamp = str(int(time.time()))# 生成签名(示例,需替换为实际app_id和app_secret)sign_str = "your_app_id" + note_id + str(page) + str(page_size) + timestamp + "your_app_secret"sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest()params = {"access_token": access_token,"page": page,"limit": page_size,"timestamp": timestamp,"sign": sign}response = requests.get(url, params=params)return response.json() if response.status_code == 200 else None# 示例调用note_id = "649c46ab000000002702ad36"access_token = "your_access_token"comments_data = get_comments(note_id, access_token)if comments_data:for comment in comments_data["data"]["comments"]:print(f"评论内容: {comment['content']}")print(f"用户昵称: {comment['user_nickname']}")print(f"点赞数: {comment['like_count']}")

4.  响应数据结构

json{"code": 200,"message": "success","data": {"comments": [{"comment_id": "123456","content": "评论内容","user_nickname": "用户昵称","create_time": "2025-07-16T12:00:00Z","like_count": 10}],"pagination": {"current_page": 1,"total_pages": 3,"per_page": 10,"total_count": 25}}}

二、非官方技术方案(备用)

1.  逆向工程接口

  • 接口地址: https://www.xiaohongshu.com/api/sns/note/v1/comment_list
  • 请求参数:
    • note_id:笔记ID
    • sort:排序方式(如 newest)
    • page:页码
    • page_size:每页数量

2.  Python爬虫代码

pythonimport requestsfrom urllib.parse import urlencodeimport timeclass XiaohongshuCommentScraper:def __init__(self):self.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148","X-Request-ID": "api.comment_list","Content-Type": "application/json"}self.base_url = "https://www.xiaohongshu.com/api/sns/note/v1/comment_list"def get_comments(self, note_id, max_pages=5):comments = []for page in range(1, max_pages+1):params = {"note_id": note_id,"sort": "newest","page": page,"page_size": 20}try:response = requests.get(self.base_url, headers=self.headers, params=urlencode(params))data = response.json()if data.get('errcode') != 0:breakcomments.extend([{"id": c["id"],"user": c["user"]["nickname"],"content": c["content"],"like_count": c["like_count"],"create_time": c["create_time"]} for c in data.get('data', {}).get('comments', [])])time.sleep(1.5)  # 反爬延迟except Exception as e:print(f"Error on page {page}: {str(e)}")breakreturn comments# 示例调用scraper = XiaohongshuCommentScraper()note_id = "649c46ab000000002702ad36"comments = scraper.get_comments(note_id, max_pages=3)print(f"成功抓取{len(comments)}条评论")

三、合规与风险说明

  1. 官方API:
    • 需严格遵守小红书开放平台协议,禁止滥用或泄露用户数据。
    • 调用频率限制(如每分钟100次),超限需申请提额。
  2. 非官方方案:
    • 存在法律风险,可能违反小红书用户协议,建议优先使用官方API。
    • 需控制请求频率(建议QPS≤2),并添加反爬策略(如代理IP、随机延迟)。

四、实操案例总结

  • 推荐方案:使用官方API,合法稳定,适合长期数据采集。
  • 备用方案:非官方爬虫适用于临时需求,但需注意合规性。

通过以上步骤,您可快速实现小红书笔记评论的一键获取,并根据需求选择合适的技术方案。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3094743/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专业研发电商平台API开放接口,搭建独立站系统,反向海淘代购系统十年+,https://o0b.cn/lafite。

注册时间:2025-06-20

  • 博文量
    231
  • 访问量
    258525