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

2 阅读3分钟

要获取小红书用户笔记作品列表,需通过小红书开放平台官方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)

    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}")
    
  • 响应数据结构

    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秒/次),仅抓取公开数据,避免侵入用户隐私。

  • 示例代码(爬虫):

    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),避免高频访问触发反爬机制。

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