小红书用户作品列表API概述及JSON数据返回说明
一、API概述
小红书用户作品列表API是小红书开放平台为开发者提供的核心接口之一,允许通过用户ID(user_id
)获取其发布的全部笔记内容,包括标题、正文、图片、互动数据等。该接口支持分页查询,返回JSON格式数据,便于开发者集成到自有应用或数据分析系统中。
关键特性:
数据完整性:覆盖笔记标题、内容、图片、点赞、评论、收藏等核心字段。
分页支持:通过
page
和page_size
参数控制返回数据量,避免单次请求过大。实时性:返回数据为小红书平台实时内容,确保信息时效性。
权限控制:需申请API密钥并遵守调用频率限制(如每分钟100次)。
二、JSON数据返回结构
成功调用API后,返回的JSON数据包含以下核心字段:
json{"code": 200,"message": "success","data": {"items": [{"note_id": "64a1b2c3d4e5","title": "夏日穿搭分享|显瘦连衣裙推荐","content": "分享几款适合夏天的显瘦连衣裙,微胖女孩必备!","images": ["https://ci.xiaohongshu.com/1.jpg","https://ci.xiaohongshu.com/2.jpg"],"likes": 1234,"comments": 56,"collected": 78,"created_at": "2023-07-01T12:00:00Z","tags": ["穿搭", "显瘦", "连衣裙"]},{"note_id": "64a1b2c3d4e6","title": "旅行Vlog|三亚度假攻略","content": "三亚5天4夜自由行全记录,附酒店、美食推荐!","images": ["https://ci.xiaohongshu.com/3.jpg"],"likes": 890,"comments": 32,"collected": 45,"created_at": "2023-07-05T15:30:00Z","tags": ["旅行", "三亚", "Vlog"]}],"pagination": {"current_page": 1,"total_pages": 3,"items_per_page": 10,"total_items": 25}}}
三、字段详解
字段 | 类型 | 说明 |
---|---|---|
code | int | 状态码,200表示成功,其他值表示错误(如401未授权、429频率超限)。 |
message | string | 状态描述,成功时返回"success" 。 |
data.items | array | 笔记列表,每个元素包含单条笔记的详细信息。 |
note_id | string | 笔记唯一标识符,可用于调用笔记详情API。 |
title | string | 笔记标题,长度限制50字符。 |
content | string | 笔记正文,支持Markdown格式。 |
images | array | 图片URL列表,最多9张,格式为["url1", "url2"] 。 |
likes | int | 点赞数,反映笔记受欢迎程度。 |
comments | int | 评论数,可用于分析用户互动情况。 |
collected | int | 收藏数,代表笔记的长期价值。 |
created_at | string | 发布时间,ISO 8601格式(如"2023-07-01T12:00:00Z" )。 |
tags | array | 标签列表,格式为["标签1", "标签2"] ,便于内容分类检索。 |
pagination | object | 分页信息,包含当前页码、总页数、每页条目数等。 |
四、调用示例(Python)
pythonimport requests
def get_user_notes(user_id, page=1, page_size=10): url = "https://api.xiaohongshu.com/v2/user/notes" headers = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } params = { "user_id": user_id, "page": page, "page_size": page_size }
response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() else: return {"error": f"API调用失败,状态码:{response.status_code}"}
# 示例调用 user_id = "55d99833f5a26377a030cbf8" # 替换为实际用户ID result = get_user_notes(user_id) print(result)
五、注意事项
权限申请:需在小红书开放平台注册开发者账号并申请API密钥。
频率限制:默认每分钟100次调用,超限需联系官方调整配额。
数据合规:禁止爬取用户隐私数据或用于商业竞争分析。
错误处理:需捕获
401
(未授权)、429
(频率超限)等异常状态码。