怎么获取小红书用户笔记作品列表?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),避免高频访问触发反爬机制。

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

相关推荐
Java研究者15 小时前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
Alan_753 天前
高并发架构优化实战:Redis 调优、数据库扩展与协同架构三大核心模块
api
曲幽3 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
CaffeinePro6 天前
依赖注入:FastAPI最核心的解耦能力案例解析
后端·fastapi
用户7783366132118 天前
从 Serper 切到 SERP API:200 行代码 diff 实战
api
曲幽9 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
CaffeinePro12 天前
Pydantic深度使用:数据校验、枚举、ORM映射
后端·fastapi
jay神15 天前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
天空属于哈夫克315 天前
打造私域闭环:CRM 如何驱动企微外部客户触达
自动化·企业微信·api
染指111015 天前
6.AI大模型-搭建本地大模型服务体系
fastapi·oneapi