淘宝视频下载
输入一个淘宝 / 天猫商品链接,抓取该商品的主图视频与详情视频直链并下载为 mp4。
⚠️ 使用前须知(请先读这一段)
本工具只做一件事:把你自己在浏览器里能看到的商品视频,存一份到本地。
- 允许的:个人离线保存、学习研究参考(查看自己已购 / 有权浏览的商品页面)
- 禁止的:批量抓取、转发到任何公开渠道、用于商业用途(含"竞品素材库""店铺素材复用"等)
- 商品视频的著作权归商家或平台所有,下载不等于获得任何授权
- 本工具复用你自己的登录态、不破解签名、不绕过验证码,因此不属于"避开技术保护措施";但如果某页面明确禁止下载,请不要使用本工具
如果你不确定某个用途是否合规,就不要用。
原理
淘宝商品视频的直链藏在页面 JS 里且需要登录态,通用下载器(yt-dlp 等)抓不到。本技能复用你已经登录的浏览器:
- 通过 CDP 连接本机带调试端口 9222 的 Edge(与「连已登录浏览器」类脚本同一套方案,不下载 Chromium)
- 打开商品详情页,从两个渠道捕获视频地址:
- DOM 里<video>元素的src/currentSrc/source(含 iframe 内)
- 网络层响应监听,过滤 content-type 含 video 或 URL 含.mp4/.m3u8/.flv - 主图视频默认不会自动播放,脚本会 hover 主图区 → 点击播放按钮 → JS 强制
play()来触发加载 - 详情视频是懒加载的,脚本分档滚动(0.2 → 0.95)并边滚边强制播放
- 抓到候选后按 Content-Length 从大到小依次尝试下载,成功一个即停止
用法
一键运行(推荐)
python scripts/setup_and_run.py
它会自动完成:安装 playwright + requests(阿里源)→ 检查并启动带 9222 端口的 Edge → 提示你粘贴商品链接 → 下载。
自动启动的 Edge 使用技能包内的 edge_profile/ 作为用户数据目录(独立、不影响你日常浏览器)。
首次运行时请先在这个 Edge 里登录一次淘宝,之后登录态会保留在该目录。
> Windows 上如果想双击运行:在 scripts/ 目录里新建一个 .bat,内容写
> python "%~dp0setup_and_run.py" + 一行 pause 即可(SkillHub 不接受 .bat 文件,故未随包提供)。
命令行
python scripts/item_video.py <商品链接> # 主图 + 详情都试
python scripts/item_video.py <商品链接> --mode main # 只抓主图视频
python scripts/item_video.py <商品链接> --mode detail # 只抓详情视频
python scripts/item_video.py <商品链接> --list # 只列直链,不下载
python scripts/item_video.py <商品链接> --out D:\video # 指定输出目录
输出:out/item_<时间戳>.mp4,日志在 logs/item_video_<时间戳>.log。
依赖
- Python 3.9+,
playwright、requests - 本机 Edge(无需下载 Chromium)
- 可选:
ffmpeg(抓到 m3u8 时需要,用于合并为 mp4;没有则只输出直链)
抓不到视频怎么办
按这个顺序排查:
- 先在 Edge 里手动把视频点开播几秒,再重跑脚本 —— 详情视频是懒加载的,没滚动到就不会请求
- 用
--list看看到底抓没抓到直链,区分「没抓到」和「抓到但下载失败」 - 换
--mode main或--mode detail单独试,缩小范围 - 确认淘宝登录态没过期(脚本检测到「亲,请登录」会等你登录,最多 300 秒)
行为边界
- 不绕过任何风控:遇到滑块 / 验证码 / 安全验证,脚本截图并停止,交由人工处理
- 不做批量抓取:一次只处理一个手动输入的链接,没有爬虫式遍历逻辑
- 不做登录破解:复用你自己的浏览器登录态,未登录时等你手动登录
合规与免责
法律层面(供参考,不构成法律意见)
| 使用方式 | 风险 |
|---|---|
| 个人保存、离线学习研究参考 | 低。属《著作权法》第 24 条个人使用范畴 |
| 转发 / 上传 / 二次分发 / 商用 | 高。侵犯信息网络传播权,可能承担赔偿责任 |
| 批量抓取整店、整类目 | 高。可能违反平台协议,经营者身份下还可能触及《反不正当竞争法》第 12 条 |
本工具的设计边界即为规避上述高风险用法:单次单链接、手动输入、无遍历逻辑、不绕风控。
仅限本人账号、个人学习研究参考使用。下载的商品视频著作权归商家或平台所有,
禁止批量抓取、二次分发、公开传播、商业使用。使用者需自行确保其用途符合平台协议与适用法律。
因使用者超出上述范围使用所产生的一切后果,由使用者自行承担。
完整许可与归属声明见 README.md。