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

一、前期准备

  1. 注册开放平台账号
    • 访问小红书开放平台,完成实名认证。
    • 创建应用,选择"电商"或"数据分析"类目,获取App Key 和App 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无法满足需求,可通过合法爬虫模拟浏览器请求,但需注意:

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

相关推荐
for_ever_love__15 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司15 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*15 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain
sunshine22 girl15 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
福兮说15 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
code2cat15 小时前
Java进阶篇之AtomicStampedReference:引用回到原值,版本戳仍能记住变化
java·cas·并发编程·aba
XiaoMaqqqq16 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
huainingning16 小时前
RJ SW Console口忘记密码处理方法
linux·运维·服务器
ShyanZh16 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp
布裘16 小时前
【银河麒麟】桌面系统循环登录,无法进入桌面?
linux·运维·服务器