怎么获取小红书用户笔记作品列表?item_search_shop_videoAPI接口指南

要获取小红书用户笔记作品列表,需通过小红书开放平台官方API接口实现,具体操作指南如下:

一、前期准备

  1. 注册与认证

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

    • 普通开发者QPS≤10,企业认证后可提升至100,每日调用上限50,000次。高频调用建议使用缓存(如Redis,过期时间30分钟)。
    • 禁止存储用户敏感信息(如手机号、地址),图片需通过CDN代理引用,避免直接使用小红书源链接。

二、API调用流程

1. 用户作品列表接口(item_search_shop_video)

  • 接口地址GET https://api.xiaohongshu.com/api/v1/search/shop_video

  • 必填参数

    • user_id:用户唯一标识(通过用户主页URL解析)。
    • page:分页页码(默认1)。
    • page_size:每页数量(最大50)。
    • sort:排序方式(如create_time按时间排序)。
  • 请求示例(Python)

    ini 复制代码
    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}")
  • 响应数据结构

    css 复制代码
    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
        }
      }
    }

2. 笔记详情接口(item_get_video)

  • 接口地址GET https://api.xiaohongshu.com/api/v1/get/video

  • 必填参数

    • note_id:笔记唯一ID。
    • access_token:授权令牌(需通过OAuth2.0获取)。
  • 核心数据字段

    • 笔记基础信息(标题、正文、发布时间)、作者信息(昵称、头像)、互动指标(点赞数、收藏数、评论数)、多媒体资源(图片/视频URL)。

三、替代方案(非官方)

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

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

  • 示例代码(爬虫):

    ini 复制代码
    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')
    # 根据页面结构解析作品列表(需调整选择器)

四、错误处理与规范

  • 错误码 :10001(参数错误)、30001(权限不足),需根据open.xiaohongshu.com/docs排查。
  • 合规要求:遵守《小红书机器人协议》(robots.txt),避免高频访问触发反爬机制。

通过以上步骤,可高效获取小红书用户笔记作品列表,建议优先使用官方接口,并结合爬虫补充数据(需合规操作)。开发过程中需关注接口文档更新,定期检查调用权限状态。

相关推荐
DevnullCoffe15 小时前
Open Claw × 跨境电商:5个最有价值的 AI Agent 应用场景深度拆解
python·api
沐硕17 小时前
《基于改进协同过滤与多目标优化的健康饮食推荐系统设计与实现》
java·python·算法·fastapi·多目标优化·饮食推荐·改进协同过滤
带娃的IT创业者18 小时前
WeClaw 架构演进史:从 0 到 1 构建跨平台 AI 助手的完整历程
人工智能·python·websocket·架构·fastapi·架构设计·实时通信
沐硕1 天前
Dietify 智能饮食推荐系统全解析 —— 当协同过滤遇上营养科学,构建你的私人饮食管家
spring boot·python·fastapi·多目标优化·饮食推荐·改进协同过滤
带娃的IT创业者2 天前
WeClaw WebSocket 连接中断诊断:从频繁掉线到稳定长连的优化之路
python·websocket·网络协议·php·fastapi·实时通信
龙腾AI白云2 天前
数字孪生国内外发展现状
数据分析·flask·virtualenv·fastapi
Hommy882 天前
【剪映小助手】故障排除与常见问题
aigc·api·剪映小助手
小庄梦蝶2 天前
使用fastapi搭建博客
fastapi
interception2 天前
FastAPI中路径参数,查询参数,请求体参数之间的区别
fastapi
带娃的IT创业者2 天前
WeClaw 离线消息队列实战:异步任务队列如何保证在服务器宕机时不丢失任何一条 AI 回复?
运维·服务器·人工智能·python·websocket·fastapi·实时通信