Skip to content

Repository files navigation

抖音调研管道

给定一个抖音账号,自动抓作品列表 + 评论 + 转逐字稿,拼成一份对标分析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_uid
  • download_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 前会被脱敏,避免凭证或临时授权串出现在日志里。

About

抖音账号调研管道:搜账号→抓作品→批量下载→抓评论→(站外ASR)→拼Excel,Python编排 + TikHub API + 火山引擎ASR

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages