小红书获取用户作品列表API接口操作指南

一、前期准备

  1. 注册开放平台账号
    • 访问小红书开放平台,完成实名认证。
    • 创建应用,选择"电商"或"数据分析"类目,获取App KeyApp Secret(密钥需妥善保管)。
  2. 申请接口权限
    • 在开发者控制台申请item_search_shop_video(用户作品列表)或item_get_video(笔记详情)接口权限,审核通过后生效。
二、API调用流程

1. 接口地址与参数

  • 用户作品列表接口
    GET https://api.xiaohongshu.com/api/v1/search/shop_video
    必填参数
    • user_id:用户唯一标识(通过用户主页URL解析)
    • page:分页页码(默认1)
    • page_size:每页数量(最大50)
    • sort:排序方式(如create_time按时间排序)

2. 请求示例(Python)

复制代码

python

|--------------------------------------------------------------------------------|
| import requests |
| |
| app_key = "YOUR_APP_KEY" |
| app_secret = "YOUR_APP_SECRET" |
| user_id = "目标用户ID" |
| |
| url = "https://api.xiaohongshu.com/api/v1/search/shop_video" |
| params = { |
| "user_id": user_id, |
| "page": 1, |
| "page_size": 30, |
| "sort": "create_time" |
| } |
| headers = {"Authorization": f"Bearer {app_key}"} |
| |
| response = requests.get(url, headers=headers, params=params) |
| if response.status_code == 200: |
| data = response.json() |
| # 解析作品列表 |
| for item in data["data"]["items"]: |
| print(f"作品ID: {item['num_iid']}, 标题: {item['title']}, 点赞数: {item['likes']}") |
| else: |
| print(f"请求失败,状态码: {response.status_code}") |

3. 响应数据结构

复制代码

json

|------------------------------------------|
| { |
| "code": 200, |
| "message": "success", |
| "data": { |
| "items": [ |
| { |
| "num_iid": "作品ID", |
| "title": "作品标题", |
| "likes": 150, |
| "comments": 20, |
| "create_time": "2025-01-01T00:00:00Z", |
| "detail_url": "作品链接" |
| } |
| ], |
| "pagination": { |
| "current_page": 1, |
| "total_pages": 5 |
| } |
| } |
| } |

三、关键注意事项
  1. 频率限制
    • 普通开发者QPS≤10,企业认证后可提升至100,每日调用上限50,000次。
    • 高频调用建议使用缓存(如Redis,过期时间30分钟)。
  2. 合规性要求
    • 禁止存储用户敏感信息(如手机号、地址)。
    • 图片需通过CDN代理引用,避免直接使用小红书源链接。
    • 遵守《小红书机器人协议》(robots.txt),避免高频访问。
  3. 错误处理
    • 错误码示例:
      • 10001:参数错误
      • 30001:权限不足
    • 需根据小红书API文档页面排查错误。
四、替代方案(非官方)

若官方API无法满足需求,可通过合法爬虫模拟浏览器请求,但需注意:

  • 使用requestsselenium库,设置合理请求间隔(如2秒/次)。
  • 仅抓取公开数据,避免侵入用户隐私。
  • 示例代码(爬虫):
复制代码

python

|--------------------------------------------------------------|
| import requests |
| from bs4 import BeautifulSoup |
| |
| url = "https://www.xiaohongshu.com/user/profile/{user_id}" |
| headers = {"User-Agent": "Mozilla/5.0"} |
| response = requests.get(url, headers=headers) |
| soup = BeautifulSoup(response.text, 'html.parser') |
| # 解析作品列表(需根据页面结构调整) |

五、总结

通过小红书开放平台API可高效获取用户作品列表,需严格遵守平台规则。建议优先使用官方接口,若需补充数据可结合爬虫(需合规)。开发过程中需关注接口文档更新,并定期检查调用权限状态。

相关推荐
小桥风满袖7 小时前
极简三分钟ES6 - 数值的扩展
前端·javascript
北辰alk7 小时前
React 组件间数据共享全方位指南:从 Props 到状态管理
前端
薛定谔的算法7 小时前
手写React:从Dideact理解前端框架的核心原理
前端·react.js·架构
用户47949283569157 小时前
面试官:讲讲css样式的优先级
前端·javascript·面试
bug_kada7 小时前
手把手教你做一个React Hooks (Todos)应用(一)
前端·react.js
Seven977 小时前
剑指offer-28、数组中出现次数超过⼀半的数字
java
浮游本尊7 小时前
Java学习第19天 - 分布式缓存与Redis高级应用
java
EndingCoder7 小时前
打包应用:使用 Electron Forge
前端·javascript·性能优化·electron·前端框架·打包·electron forge
子兮曰7 小时前
🔥告别ORM臃肿!用Bun.js原生SQLite打造极致轻量级数据库层
前端·sqlite·bun