若需通过合法途径获取小红书笔记详情,需通过小红书开放平台申请API权限,以下是详细操作指南:
一、注册与认证
-
注册账号
访问小红书开放平台,使用手机号或邮箱注册开发者账号,完成实名认证(需提供企业或个人信息)。
-
创建应用
- 登录开发者控制台,点击「创建应用」。
- 填写应用名称、描述,选择应用类型(如数据分析工具、内容管理平台)。
- 提交后等待审核(通常需1-3个工作日)。
二、申请API权限
-
进入应用管理
审核通过后,在控制台找到已创建的应用,进入「接口权限」页面。
-
申请笔记详情权限
- 搜索并勾选「笔记详情API」(如
red.note.detail.get
或类似接口)。 - 填写申请理由(如"用于内容分析工具开发"),提交后等待审核(通常需1-5个工作日)。
- 搜索并勾选「笔记详情API」(如
-
获取密钥
审核通过后,在应用管理页面查看
App Key
和App Secret
,妥善保管(泄露可能导致账号封禁)。
三、调用API接口
1. 接口地址与参数
-
请求地址:
bashhttps://api.xiaohongshu.com/note/detail 或 https://api.xiaohongshu.com/v1/notes/{note_id}
-
必填参数:
app_key
:应用的唯一标识。access_token
:通过OAuth2.0授权获取的令牌(需用户授权或服务端令牌)。note_id
:目标笔记的唯一ID(可从笔记URL或分享链接中提取)。
-
可选参数:
fields
:指定返回字段(如title,content,like_count
),减少数据量。timestamp
:当前时间戳(防重放攻击)。sign
:签名(按小红书规则生成,验证请求合法性)。
2. 代码示例(Python)
ini
python
import requests
import json
def get_note_detail(app_key, access_token, note_id):
url = f"https://api.xiaohongshu.com/note/detail?note_id={note_id}&access_token={access_token}"
headers = {
"Accept-Encoding": "gzip",
"Connection": "close"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print(f"请求失败,状态码: {response.status_code}")
return None
# 替换为实际值
app_key = "YOUR_APP_KEY"
access_token = "YOUR_ACCESS_TOKEN" # 需通过授权流程获取
note_id = "123456789" # 示例笔记ID
result = get_note_detail(app_key, access_token, note_id)
if result:
print(json.dumps(result, indent=2, ensure_ascii=False))
3. 返回数据解析
成功响应示例(JSON格式):
json
json
{
"note_id": "123456789",
"title": "示例笔记标题",
"content": "这里是笔记正文内容...",
"tags": ["标签1", "标签2"],
"like_count": 100,
"comment_count": 20,
"author": {
"user_id": "987654321",
"nickname": "作者昵称",
"avatar_url": "https://example.com/avatar.jpg"
},
"media": [
{"type": "image", "url": "https://example.com/image1.jpg"},
{"type": "video", "url": "https://example.com/video1.mp4"}
]
}
四、关键注意事项
-
频率限制
小红书API有调用频率限制(如每分钟100次),超限会被封禁。建议:
- 使用缓存策略(如Redis)存储已获取数据。
- 错误时实现指数退避重试(如首次重试延迟1秒,第二次2秒,依此类推)。
-
数据安全
- 严格保密
App Key
和App Secret
,禁止泄露或硬编码在前端。 - 遵守《个人信息保护法》,不得存储或传播用户隐私数据(如手机号、地址)。
- 严格保密
-
异常处理
- 捕获网络异常(如
requests.exceptions.RequestException
)。 - 检查响应状态码(如401未授权、404笔记不存在、429频率超限)。
- 捕获网络异常(如
-
合规性
- 仅用于申请时声明的用途(如内容分析,不得用于爬虫或商业营销)。
- 定期检查小红书开放平台政策更新,避免接口变更导致服务中断。
五、替代方案(无API权限时)
若未通过审核,可考虑:
-
小红书官方数据合作
联系小红书商务团队,申请定制化数据服务(需企业资质和较高预算)。
-
公开数据采集(需谨慎)
- 仅采集公开可访问的笔记链接、标题、点赞数等(需遵守robots.txt和版权法)。
- 避免高频请求,使用代理IP池降低被封风险。
- 风险提示:此方法可能违反小红书用户协议,导致法律纠纷或IP封禁。