小红书获取笔记详情API接口会返回哪些数据?
小红书获取笔记详情的API接口是小红书开放平台为开发者提供的核心功能之一,通过该接口可获取笔记的标题、正文、图片、互动数据等结构化信息。以下是接口返回数据的详细解析及调用注意事项:
一、核心返回字段
- 笔记基础信息
note_id
:笔记唯一标识符(如"649c46ab000000002702ad36"
)。title
:笔记标题(如"春季美妆新品推荐"
)。content
:笔记正文内容(可能包含HTML标签,需用BeautifulSoup
等库解析)。tags
:笔记标签数组(如["美妆", "新品"]
),用于分类和搜索。publish_time
:发布时间(如"2025-04-25T14:30:00Z"
),格式为ISO 8601。
- 多媒体资源
images
:图片URL数组(如["https://example.com/image1.jpg"]
),用于前端展示。videos
:视频对象数组,包含type
(视频类型)、url
(视频链接)、cover
(封面图URL)等字段。
- 互动指标
like_count
:点赞数(如1024
)。comment_count
:评论数(如256
)。collection_count
:收藏数(如512
)。share_count
:分享数(如128
)。is_liked
/is_collected
:当前用户是否已点赞/收藏(需身份验证)。
- 作者信息
author
对象包含:user_id
:用户唯一标识符(如"987654321"
)。nickname
:用户昵称(如"美妆达人"
)。avatar
:头像URL(如"https://example.com/avatar.jpg"
)。follower_count
:粉丝数(如100000
)。
- 地理位置(可选)
location
对象包含:name
:地点名称(如"上海"
)。latitude
/longitude
:经纬度坐标(如31.2304, 121.4737
)。
- 浏览量(部分版本)
view_count
:笔记浏览量(如10000
),反映曝光度。
二、接口调用流程
- 前置准备
- 注册开发者账号:访问小红书开放平台,完成企业或个人实名认证。
- 创建应用:填写应用名称、描述,选择类型(如数据分析工具)。
- 申请权限:在接口权限页面勾选
red.note.detail.get
,提交申请理由(如“内容分析工具开发”),等待审核(1-3个工作日)。
- 获取授权令牌
- 通过OAuth2.0流程获取
access_token
(需用户授权或服务端令牌),有效期通常为30天。
- 通过OAuth2.0流程获取
- 构造请求
- 请求地址:
https://api.xiaohongshu.com/note/detail
或https://api.xiaohongshu.com/v1/notes/{note_id}
。 - 必填参数:
note_id
:目标笔记ID(可从URL或分享链接提取)。access_token
:授权令牌。
- 可选参数:
fields
:指定返回字段(如title,content,like_count
),减少数据量。timestamp
:当前时间戳(防重放攻击)。sign
:按小红书规则生成的签名(验证请求合法性)。
- 请求地址:
- Python调用示例
python
import requests |
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" |
result = get_note_detail(app_key, access_token, note_id) |
if result: |
print(f"标题:{result['data']['title']}") |
print(f"点赞数:{result['data']['like_count']}") |
print(f"作者昵称:{result['data']['author']['nickname']}") |
三、注意事项
- 权限与合规性
- 仅用于申请时声明的用途(如内容分析),禁止用于爬虫或商业营销。
- 遵守《个人信息保护法》,不得存储或传播用户隐私数据(如手机号、地址)。
- 调用限制
- 默认频率限制为100次/分钟,超限需申请提额。
- 实现指数退避重试(如首次重试延迟1秒,第二次2秒)。
- 错误处理
- 401:无效的
access_token
,检查令牌是否过期或权限不足。 - 404:笔记不存在或已删除,确认
note_id
正确性。 - 429:调用频率超限,优化代码减少请求或申请提额。
- 401:无效的
- 数据解析
content
字段可能包含HTML标签,需用BeautifulSoup
等库清理。- 图片URL需处理防盗链(部分链接需添加
Referer
头)。
四、替代方案(无API权限时)
- 官方数据合作:联系小红书商务团队,申请定制化数据服务(需企业资质和较高预算)。
- 公开数据采集:仅采集公开可访问的笔记链接、标题、点赞数等(需遵守
robots.txt
和版权法),避免高频请求。