抖音爆款视频文案抓取工具
功能概述
用户输入一个主题(如"创业副业""身强身弱""AI赚钱"),工具自动完成:
1. 搜索抖音上该主题的爆款视频(播放量/点赞量高的)
2. 抓取视频文案(视频中的台词/口播内容)
3. 返回每个视频的:播放量、点赞量、评论量、分享量、完整文案
核心需求
1. 搜索 + 排行榜抓取
- 根据用户指定的主题,在抖音搜索相关视频
- 按热度(点赞量)排序,找到TOP视频
- 支持同时搜索多个相关关键词(比如"身强身弱"可以扩展搜"身强""身弱""八字强弱""体质"等)
2. 数据抓取
每个视频需要获取:
- 标题 / 描述
- 作者信息
- 播放量 / 点赞量 / 评论量 / 分享量
- 视频的完整文案(语音转文字后的内容)
3. 文案提取(两种方式都要实现)
方式A:下载视频 → 语音转文字
- 下载视频到本地
- 用语音识别接口(如Whisper/讯飞/百度ASR等)转文字
- 保存文案
方式B:直接从页面提取文案
- 抖音视频页面本身有字幕/描述文案信息
- 从页面DOM或接口中直接提取
- 如果视频有字幕,优先使用字幕
两种方式互备,A不行用B,B不行用A。
4. 输出格式
📊 【主题】抖音爆款视频 TOP N
━━━━━━━━━━━━━━━━━━━━━━━━
🥇 [视频标题]
👤 作者:[作者名]
❤️ [点赞量] | 💬 [评论量] | 📱 [播放量] | 🔄 [分享量]
📝 文案:[完整文案内容]
🔗 链接:[视频链接]
━━━━━━━━━━━━━━━━━━━━━━━━
...
5. 技术实现建议
浏览器自动化(推荐):
- 使用 Playwright 或 Puppeteer 模拟浏览器访问抖音网页版
- 无头模式,UA伪装
- 处理抖音的反爬机制(cookie、滑动验证等)
核心流程:
1. 打开抖音搜索页面,搜索指定关键词
2. 按"最多点赞"排序
3. 遍历视频列表,获取每个视频的详情页URL
4. 进入视频详情页,抓取互动数据和文案
5. 文案提取:优先从页面字幕/描述字段获取,次选下载视频后ASR
文案获取具体实现:
- 方式A:用 yt-dlp / ffmpeg 下载视频 → 调用 Whisper 本地模型或 API 转文字
- 方式B:抖音接口返回的
desc 字段(视频描述),以及字幕接口获取字幕内容6. 容错处理
- 网络请求失败自动重试(最多3次)
- 某个视频数据抓取失败不中断流程,跳过继续
- 反爬检测到验证码时,给出提示并跳过
- 文案获取失败时标注"文案未获取到"
7. 运行环境
- Node.js 环境
- 可用浏览器自动化(Playwright / Puppeteer)
- 可选依赖:ffmpeg(视频下载用)、Whisper或其他ASR接口(语音转文字用)
使用方式(最终效果)
命令行调用
node douyin-tool.js --keyword "创业副业" --count 10
或者作为模块导入
const { searchDouyin } = require('./douyin-tool');
const result = await searchDouyin({ keyword: '创业副业', count: 10 });