【实战解析】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次/分钟),避免触发风控。

相关推荐
吧啦吧啦吡叭卜19 分钟前
【打卡d5】快速排序 归并排序
java·算法·排序算法
大得36925 分钟前
宝塔docker切换存储目录
java·docker·eureka
洛北辰南1 小时前
系统架构设计师—案例分析—数据库篇—分布式缓存技术
数据库·分布式·系统架构·缓存技术
东阳马生架构1 小时前
Netty基础—4.NIO的使用简介一
java·网络·netty
luckyext2 小时前
Postman用JSON格式数据发送POST请求及注意事项
java·前端·后端·测试工具·c#·json·postman
程序视点2 小时前
Redis集群机制及一个Redis架构演进实例
java·redis·后端
鱼樱前端2 小时前
Navicat17基础使用
java·后端
星光璀璨山河无恙2 小时前
【MySQL】数据库简要介绍和简单应用
数据库·mysql
黑风风2 小时前
深入理解Spring Boot Starter及如何自定义Starter
java·spring boot·后端
px52133442 小时前
Solder leakage problems and improvement strategies in electronics manufacturing
java·前端·数据库·pcb工艺