给定一个抖音账号,自动抓作品列表 + 评论 + 转逐字稿,拼成一份对标分析Excel。
做自媒体账号对标分析时,人工搜集"目标账号最近发了什么、互动数据如何、评论区在说什么"太慢。这套脚本把「搜账号 → 抓作品列表 → 挑样本下载 → 抓评论 → 转逐字稿 → 拼Excel」这条链路自动化。
Python脚本编排
├─ TikHub API:搜账号 / 抓作品列表 / 抓评论
├─ 火山引擎ASR:视频转文字(站外完成,不在本仓库内)
└─ pandas + openpyxl:拼装最终Excel
TikHub 和火山引擎都是付费第三方服务,需要自己注册、验证邮箱、充值,本仓库只是编排脚本,不含任何账号或额度。
1. 申请并存入凭证
去 tikhub.io 申请 TikHub API Key,存入 macOS Keychain(不要写进代码或配置文件):
security add-generic-password -s tikhub-api -a tikhub -w "<你的Key>"脚本通过 security find-generic-password 读取,不会以明文形式出现在代码、日志或对话记录里。
2. 按顺序执行
search_user.py # 按关键词搜账号,人工确认候选账号里哪个是目标
↓
fetch_user_videos.py # 抓目标账号的作品列表
↓
batch_download.py # 按点赞数挑样本,并发下载视频
↓
fetch_comments.py # 抓评论(可选,按需要的作品数抓)
↓
(站外)火山引擎ASR # 视频转逐字稿,本仓库不含这一步
↓
build_excel.py # 拼装最终的对标分析Excel
辅助/排查工具(按需用,不在主链路里):
diagnose.py:接口连通性诊断,报错脱敏后打印resolve_share_link.py:从抖音分享链接反查账号sec_uiddownload_video.py:已废弃,单条视频下载脚本,被batch_download.py取代,只在临时需要补下载单条漏抓视频时用
- 飞书自动写入功能未完成:原本想做"抓完自动写入飞书多维表格",这部分代码依赖私人飞书自建应用凭证,还没跑通验证过,本仓库不包含(对应被排除的
push_to_feishu.py/setup_keychain.py)。 - ASR 是站外完成的:转逐字稿这一步复用另一个工具链(火山引擎ASR封装),不在本仓库范围内,需要自己搭建或替换成别的ASR方案。
- API 费用自理:TikHub 和火山引擎都是按量付费,跑一次调研管道的具体花费取决于抓取的作品数/评论数/视频时长。
- 抖音接口本身不稳定:作品列表接口偶发 400(脚本会自动从 App 接口切换到 Web 接口重试)、翻页游标偶发不前进(脚本重试一次后放弃翻页,不会死循环)。抓到的数量是"本次可获取快照",不代表账号全量作品数。
- 视频下载地址是临时签名URL,有效期比表面看到的短,管道设计成"现抓现下",复用旧数据大概率会 403。
- 评论链路目前只在1个真实账号上验证过(2页、39条去重后的评论,字段逐条核对无误),接口失败后的恢复行为还没有大量样本验证过。
- API Key 只存 macOS Keychain,代码里不出现明文,也不写进配置文件。
_common.py里有一层redact_text()防御性脱敏:异常信息、签名CDN URL(play_addr这类带token=/x-signature=参数的临时地址)在打印或写入 manifest 前会被脱敏,避免凭证或临时授权串出现在日志里。