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

相关推荐
界面开发小八哥1 小时前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
idolyXyz1 小时前
[java: Cleaner]-一文述之
java
互联网搬砖老肖1 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
一碗谦谦粉2 小时前
Maven 依赖调解的两大原则
java·maven
Antonio9152 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
开发者工具分享2 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
netyeaxi2 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
典学长编程2 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
收破烂的小熊猫~2 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
猴哥源码2 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot