在抖音上筛选高互动视频,下载视频文件并提取口播文案,输出到指定目录。
pip install httpxbrew install ffmpeg(macOS)或下载 Windows 版pip install faster-whisper抖音视频采集技能v2/
├── SKILL.md ← 技能定义(本文件)
├── config.json ← 配置文件(筛选规则、输出目录等)
└── douyin_fetch.py ← 主脚本
当用户提出以下需求时,AI 应按以下流程操作:
config.json 中 filter.candidates 是否有候选视频视频ID, 标题, 作者, 点赞, 评论, 收藏, 分享)```
python douyin_fetch.py filter --min-digg 10000 --min-comment 0 --min-share 0
```
7611489793444171048)https://www.douyin.com/video/xxx),提取 xxx 部分```
python douyin_fetch.py download
```
```
python douyin_fetch.py transcript
```
```
python douyin_fetch.py transcript
```
python douyin_fetch.py info <video_id>
当脚本方式获取失败(如需要登录态),AI 应改用 Chrome MCP 操作:
navigate_page 打开 https://www.douyin.com/video/{video_id}list_network_requests 查找包含 aweme/v1/web/aweme/detail/ 的请求get_network_request 获取该请求的响应体(JSON)parse_aweme_api_response() 函数解析# 筛选+下载(使用配置文件的候选列表和规则)
python douyin_fetch.py filter
# 临时降低筛选门槛
python douyin_fetch.py filter --min-digg 10000 --min-comment 0 --min-share 0
# 下载指定视频
python douyin_fetch.py download 7611489793444171048
# 仅提取文案
python douyin_fetch.py transcript 7611489793444171048
# 仅提取文案(指定本地视频文件用于ASR)
python douyin_fetch.py transcript 7611489793444171048 --file ./video.mp4
# 仅查看视频信息
python douyin_fetch.py info 7611489793444171048
按搜索关键字分组存储,目录名即为搜索关键字:
~/抖音下载/AI新闻/
├── 2026-04-19 一周AI大事盘点.mp4 ← 视频文件
└── 2026-04-19 一周AI大事盘点.txt ← 口播文案
~/抖音下载/赚钱干货/
├── 2026-04-20 打破信息茧房.mp4
└── 2026-04-20 打破信息茧房.txt
文件命名规则:yyyy-MM-dd 关键字.mp4 / yyyy-MM-dd 关键字.txt
yyyy-MM-dd 取自视频的发布日期(create_time)文案文件格式:
视频ID: 7611489793444171048
标题: 打破信息茧房之后才知道之前都在傻干活
作者: Ai破壁人小彭
互动: 👍68,575 💬218 ⭐35,416 🔗6,410
文案来源: API字幕
==================================================
【口播文案】
(文案内容)
所有配置项均在 config.json 中,支持空值使用智能默认值。
| 配置项 | 说明 | 默认值 |
|---|---|---|
| -------- | ------ | -------- |
output_dir | 输出根目录 | ~/抖音下载/ |
ffmpeg_path | FFmpeg 路径 | 系统 PATH 中的 ffmpeg |
filter.rules.min_digg | 最低点赞数 | 20000 |
filter.rules.min_comment | 最低评论数 | 5000 |
filter.rules.min_share | 最低分享数 | 5000 |
filter.process_count | 每次处理几个视频 | 1 |
filter.candidates | 候选视频列表 | [] |
browser.wait_timeout | 页面等待时间 | 10秒 |
download.timeout | 下载超时 | 90秒 |
subtitle.method | 文案策略:api_first 或 asr_only | api_first |
{
"filter": {
"candidates": [
{
"video_id": "7611489793444171048",
"desc": "打破信息茧房之后才知道之前都在傻干活",
"author": "Ai破壁人小彭",
"digg_count": 68575,
"comment_count": 218,
"collect_count": 35416,
"share_count": 6410
}
]
}
}
RENDER_DATA)subtitle_infos 中的 VTT/SRT 文件)→ 解析为纯文本| 问题 | 解决方案 |
|---|---|
| ------ | ---------- |
| "无法获取视频信息" | 使用 Chrome MCP 方式获取,或检查网络 |
| "API字幕内容为空" | 自动进入 ASR 兜底,确保已安装 SenseVoice |
| "FFmpeg 提取音频失败" | 检查 ffmpeg 是否已安装:ffmpeg -version |
| "faster-whisper 未安装" | 运行 pip install faster-whisper |
| 下载的视频无声音 | 抖音对部分视频分离了音视频轨道,尝试 Chrome MCP 获取更完整的 URL |
共 3 个版本