【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南

一、API功能定位

​​​​smallredbook.item_get_video​​​​ 是小红书官方开放的笔记视频详情接口,核心能力包括:

  • 获取视频直链(无水印)、封面图、时长等元数据
  • 提取笔记文本描述、标签、互动数据(点赞/收藏/评论)
  • 关联用户信息(昵称、城市、UID)
  • 支持电商场景:商品视频展示、竞品分析、内容营销

🔍 典型应用:某美妆品牌通过该API抓取竞品视频,分析高赞内容的标签组合,优化自家商品视频脚本。

二、API调用全流程

1. 必备参数

|---------------|--------|-------------------|--------------------------------|
| 参数名 | 类型 | 说明 | 示例值 |
| ​​key​​ | String | 阿里云/第三方平台申请的API密钥 | ​​<your_api_key>​​ |
| ​​secret​​ | String | 密钥对中的Secret | ​​<your_api_secret>​​ |
| ​​num_iid​​ | String | 笔记ID(URL中的最后一段) | ​​649c46ab000000002702ad36​​ |

2. 请求示例(Python)
复制代码
import requests

api_url = "https://api-gw.onebound.cn/smallredbook/item_get_video"
params = {
    "key": "your_key",
    "secret": "your_secret",
    "num_iid": "649c46ab000000002702ad36",  # 目标笔记ID
    "result_type": "jsonu"  # 中文友好格式
}

response = requests.get(api_url, params=params)
data = response.json()

if data["error_code"] == "0000":
    video_url = data["item"]["video"]  # 直接下载的MP4链接
    title = data["item"]["title"]
    likes = data["item"]["interact_info"]["liked_count"]
    print(f"获取成功:{title}(点赞{likes})")
else:
    print(f"错误:{data['reason']}(代码{data['error_code']})")
3. 核心返回字段解析
复制代码
{
  "item": {
    "video": "http://sns-video-qc.xhscdn.com/stream/xxx.mp4",  // 无水印视频直链
    "title": "变形金刚4经典片段",  // 笔记标题
    "desc": "柱子哥的魅力无人能挡",  // 视频描述
    "tag_list": [{"name": "变形金刚", "type": "topic"}],  // 内容标签
    "interact_info": {
      "liked_count": "4100",  // 真实点赞数(非显示值)
      "comment_count": "237"
    },
    "nick": "电影剪辑侠",  // 作者昵称
    "time": "2023-06-28 22:41:47"  // 发布时间
  }
}

三、电商场景实战技巧

1. 商品视频监控(竞品分析)
复制代码
# 定时任务:每天抓取TOP10竞品视频数据
import schedule
import time

def monitor_competitors():
    competitor_ids = ["64a0xxxx", "64b1xxxx"]  # 竞品笔记ID
    for num_iid in competitor_ids:
        data = fetch_api(num_iid)
        save_to_db({
            "date": datetime.now(),
            "video_url": data["video"],
            "likes": data["liked_count"],
            "tags": data["tag_list"]
        })

schedule.every(1).day.at("00:00").do(monitor_competitors)
while True:
    schedule.run_pending()
    time.sleep(1)
2. 个性化推荐(内容分发)
  • 基于标签 :将​tag_list​与用户画像匹配(如"油皮护肤"+"学生党"定向推送)
  • 基于互动 :优先展示​liked_count>1000​的高潜力视频
  • 案例:某母婴品牌通过该API筛选"辅食制作"标签视频,推送给孕期用户,转化率提升27%。

四、合规与反爬注意事项

  1. API调用限制
  • 阿里云接口:默认QPS=10,需提前申请扩容
  • 频率控制:建议添加随机延迟(0.5-2秒),模拟人工操作
  1. 数据使用边界
  • 禁止爬取用户隐私(如IP、地理位置)
  • 视频仅限内部分析,商用需获得作者授权
  1. 错误码处理
  • ​2000​:笔记不存在(删除/下架)
  • ​403​:API权限不足(检查key/secret)
  • ​503​:限流(增加代理或延迟重试)

五、替代方案对比(非API场景)

|-----------|-----------|-------------|-----------|
| 方法 | 优点 | 缺点 | 适用场景 |
| API直连 | 合法、稳定、无水印 | 需申请资质,限制QPS | 企业级长期监控 |
| 小程序解析 | 无需编程,即用即走 | 依赖第三方工具,易失效 | 临时下载少量视频 |
| 浏览器抓包 | 绕过API限制 | 需逆向JS,反爬风险高 | 技术验证/学术研究 |
| 录屏法 | 无技术门槛 | 画质损失、含水印 | 个人非商用保存 |

💡 建议 :优先使用官方API(如​​smallredbook.item_get_video​​),合规性和稳定性最佳;非官方方案需评估法律风险,避免大规模采集。

六、常见问题解答

Q:如何获取笔记ID?

A:小红书APP内点击视频→右上角"..."→复制链接,URL末尾即为​​num_iid​​(如​​https://xhslink.com/xxx?num_iid=649c46ab...​​)。

Q:返回的视频链接有时效性吗?

A:直链有效期通常为7天,建议获取后立即下载或缓存。

Q:能否批量获取多个视频?

A:支持循环调用,但需控制频率(建议≤50次/分钟),避免触发风控。

相关推荐
heart000_110 分钟前
MySQL高级查询技巧:分组、聚合、子查询与分页【MySQL系列】
数据库·mysql
写bug写bug12 分钟前
彻底搞懂 RSocket 协议
java·后端
比特森林探险记13 分钟前
深入解析Go语言数据类型:从底层到高级应用
java·前端·golang
橘子青衫17 分钟前
深入理解Callable与Future:实现Java多线程中的异步任务处理
java·后端
Magnum Lehar23 分钟前
vulkan游戏引擎game_types.h和生成build.bat实现
java·算法·游戏引擎
会敲键盘的猕猴桃很大胆41 分钟前
Redis实战-基于redis和lua脚本实现分布式锁以及Redission源码解析【万字长文】
java·redis·分布式·spring·lua
s153351 小时前
RV1126 + FFPEG多路码流项目
音视频
设计师小聂!1 小时前
JDBC+HTML+AJAX实现登陆和单表的CRUD
java·ajax·servlet·html·maven
Mr__Miss1 小时前
微服务中引入公共拦截器
java·微服务·架构
凭君语未可1 小时前
MySQL中COUNT(*)、COUNT(1)和COUNT(字段名)的深度剖析与实战应用
数据库·mysql