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

相关推荐
big-seal10 小时前
XML解释
xml·java·数据库
AI小云10 小时前
【数据操作与可视化】Matplotlib绘图-基础功能
python·数据可视化
进击的明明10 小时前
前端监控与前端兜底:那些我们平常没注意,但真正决定用户体验的“小机关”
前端·面试
前端老宋Running10 小时前
我只改了个头像,为什么整个后台系统都闪了一下?
前端·react.js·面试
r***013810 小时前
SpringBoot3 集成 Shiro
android·前端·后端
八哥程序员10 小时前
深入理解 JavaScript 作用域与作用域链
前端·javascript
m***119010 小时前
Spring BOOT 启动参数
java·spring boot·后端
m***667310 小时前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
前端一课10 小时前
【vue高频面试题】第 11 题:Vue 的 `nextTick` 是什么?为什么需要它?底层原理是什么?
前端·面试
前端一课10 小时前
【vue高频面试题】第 10 题:`watch` VS `watchEffect` 的区别是什么?触发时机有什么不同?
前端·面试