小红书(Xiaohongshu)的笔记详情数据可以通过官方API或非官方爬虫方式获取。由于小红书未公开官方API文档,以下内容基于非官方逆向分析和公开技术讨论整理,仅供技术研究参考。
一、小红书笔记详情API接口概述
1. 接口类型
官方API(需授权):企业合作或品牌方可能通过小红书开放平台获取授权API(如广告投放、数据分析接口)。
非官方API(逆向工程):通过分析小红书App或Web端的请求,模拟调用获取数据(可能违反服务条款)。
2. 请求方式
移动端API:通常使用HTTPS请求,参数加密(如
sign签名、device_id等)。Web端API:部分数据可通过PC端网页请求获取(如
www.xiaohongshu.com/api开头的接口)。
3. 关键参数
note_id:笔记的唯一ID(从URL中提取,如https://www.xiaohongshu.com/explore/64a1b2c3d4e5中的64a1b2c3d4e5)。device_id:设备指纹(可能用于反爬)。sign:请求签名(算法可能动态变化)。
二、笔记详情API请求示例
1. 移动端API(示例)
pythonimport requests import hashlib import time
def get_xiaohongshu_note(note_id): url = "https://edith.xiaohongshu.com/api/sns/v1/note" headers = { "User-Agent": "Redbook/6.89.0 (iPhone; iOS 16.0; Scale/3.00)", "X-Sign": generate_sign(), # 签名算法需逆向分析 "X-Device-Id": "DEVICE_ID_HERE", } params = { "note_id": note_id, "device_id": "DEVICE_ID_HERE", "timestamp": int(time.time()), }
try: response = requests.get(url, headers=headers, params=params) return response.json() except Exception as e: return {"error": str(e)}
def generate_sign(): # 示例签名算法(实际需逆向App的加密逻辑) raw = f"device_id=DEVICE_ID_HERE×tamp={int(time.time())}&key=SECRET_KEY" return hashlib.md5(raw.encode()).hexdigest()
# 示例调用 note_id = "64a1b2c3d4e5" # 替换为实际笔记ID print(get_xiaohongshu_note(note_id))
2. Web端API(示例)
pythondef get_web_note(note_id): url = f"https://www.xiaohongshu.com/api/sns/v3/note/feed" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Cookie": "YOUR_COOKIE_HERE", # 可能需要登录态 } params = { "note_id": note_id, }
try: response = requests.get(url, headers=headers, params=params) return response.json() except Exception as e: return {"error": str(e)}
三、返回JSON数据结构(示例)
json{"data": {"id": "64a1b2c3d4e5","title": "夏日穿搭分享|显瘦连衣裙推荐","desc": "分享几款适合夏天的显瘦连衣裙,微胖女孩必备!","images": ["https://ci.xiaohongshu.com/1.jpg","https://ci.xiaohongshu.com/2.jpg"],"likes": 1234,"comments": 56,"collected": 78,"user": {"id": "user123","nickname": "穿搭小能手","avatar": "https://sns-avatar.xiaohongshu.com/avatar.jpg"},"tags": ["穿搭", "显瘦", "连衣裙"],"time": "2023-07-01 12:00:00"},"success": true}关键字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 笔记唯一ID |
title | string | 笔记标题 |
desc | string | 笔记正文 |
images | array | 图片URL列表 |
likes | int | 点赞数 |
comments | int | 评论数 |
collected | int | 收藏数 |
user | object | 作者信息(昵称、头像等) |
tags | array | 标签列表 |
time | string | 发布时间 |
四、注意事项
反爬机制:
小红书会检测异常请求(如高频访问、无Headers),可能返回
403 Forbidden或验证码。建议使用代理IP、随机User-Agent和请求间隔。
签名算法:
移动端API的
sign参数可能通过App内JavaScript动态生成,需逆向分析(如使用Frida或Xposed)。合法性:
非官方爬取可能违反小红书《用户协议》,仅限个人学习研究,禁止商业用途。
替代方案:
使用第三方数据服务(如某些数据采集平台提供小红书API)。
申请小红书官方合作(如品牌合作人、广告主API)。