抖音批量下载实战指南:单条视频到整个主页,3 步配置 10 分钟跑通
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
凌晨一点,运营新人小林还在浏览器里一条条保存竞品抖音视频,存到第 40 个时已经磨掉半天耐心。开源项目 douyin-downloader 就是为这类脏活设计的:粘贴一个链接,自动识别类型,并发下载无水印视频、封面、音乐和元数据。整理一个主页原本要两小时的活,它十分钟跑完。
能力总览:哪些链接可以直接丢给它
工具的装配逻辑在 core/ 目录:链接解析先判断 URL 类型,再由 DownloaderFactory 创建对应下载器,你不用手动指定。
| 内容类型 | 链接形态 | 对应用途 |
|---|---|---|
| 单条短视频 | /video/视频ID | 收藏一条无水印作品 |
| 图文笔记 | /note/笔记ID、/gallery/笔记ID | 下载图集 |
| 合集 | /collection/合集ID、/mix/合集ID | 整合集拉取 |
| 原声音乐 | /music/音乐ID | 下载该音乐关联作品 |
| 博主主页 | /user/用户ID | 批量下载作品/喜欢/合集(核心玩法) |
| 分享短链 | v.douyin.com/短链 | 自动解析后下载 |
| 直播间 | live.douyin.com/房间ID | 直播实时录制(FLV/HLS) |
边界也要说清:识别不了的链接会直接报错退出,不会闷头跑空;收藏合集类模式只支持登录 Cookie 对应账号自己的收藏夹,无法抓取他人收藏。
快速上手:十分钟装好并跑通
安装:三条命令装完依赖
要求 Python 3.8+,克隆后装依赖即可:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txtCookie 三种配法:推荐自动获取
Cookie 是访问抖音接口的通行证,配置里有三种写法:
- 自动获取(推荐):配置写
cookies: auto,运行时自动打开浏览器引导登录,写完自动落盘,最省心; - 整串粘贴:从浏览器开发者工具复制完整 Cookie 字符串直接填入;
- 键值对填写:按
msToken、ttwid、sid_guard等字段逐项填,结构最清晰。
用浏览器回退功能的话,需要再装一次依赖:pip install playwright && python -m playwright install chromium。
最小配置:6 行 YAML 跑通第一次下载
link: - https://www.douyin.com/user/你的目标博主ID path: ./Downloaded/ mode: [post] # 下载发布的全部作品 number: {post: 50} # 最多 50 条,0 表示全部 thread: 5 # 并发数 cookies: auto # 自动获取 Cookie,推荐保存为config.yml,执行:
python run.py -c config.yml命令行实时刷新每个任务的进度条,跑完自动汇总成功/失败/跳过数量。完整的字段含义见 config.example.yml,注释写得很细。
产物说明:任务跑完你得到什么
默认按"作者 / 模式 / 作品"三级目录归档:
Downloaded/ ├── download_manifest.jsonl └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── 2024-02-07_作品标题_aweme_id.mp4 ├── 2024-02-07_作品标题_aweme_id_cover.jpg └── 2024-02-07_作品标题_aweme_id_data.json两个关键文件值得留神:_data.json存了点赞数、评论数、发布时间、话题标签,做数据整理时不用回网页翻;download_manifest.jsonl是全局清单,每行一条 JSON,记录日期、作者、标题、文件路径,后期用命令行检索或导入表格都方便。
一个反直觉细节:文件名里的日期取自作品发布时间而非下载时间。隔三个月再备份,归档仍按发布顺序排列;只有发布时间字段缺失时才回退到当天日期,并会在日志里告警,属预期行为。
自动化进阶:从"跑一次"到"每天自动跑"
批量下载最大的坑是重复拉取——博主更新 10 条,重跑一遍结果 100 条全下。项目内置 SQLite 去重,配合increase配置就得到增量同步:
increase: {post: true} # 跳过本地已存在的主媒体文件 start_time: "2024-01-01" # 只下指定时间段内的作品 end_time: "2024-12-31" filename_template: "{date}_{title}_{id}" # 命名模板,可用 {author} {like_count} 等变量把这条命令挂进 crontab,就是每天凌晨自动追更,新作品进来、旧文件绝不动:
0 3 * * * cd /path/to/douyin-downloader && python run.py -c monitor.yml调参建议:thread新手保持 5 左右即可,盲目拉高并发反而容易触发风控;网络波动时把retry_times提到 5;被限速时优先调低请求频率(限流器 默认约 2 次/秒),而不是加并发。
场景对比:三个真实用法,各省多少时间
场景一:竞品账号监控
之前:运营每天手动刷 3 个竞品主页、逐条另存,每天固定耗时约 2 小时,且断更时完全无感知。
之后:3 个主页写进link,开增量同步挂定时任务,每天自动跑,人只看汇总数字。
关键配置:
mode: [post, like] number: {post: 0, like: 0} # 0 = 全量 increase: {post: true, like: true}场景二:研究样本采集
之前:手动搜索关键词、翻页、逐条复制标题和互动数据进表格,采 200 条样本要大半天。
之后:一条子命令直接导出带日期、作者、点赞评论数的 JSONL 文件,跳过下载环节,直接进分析流程。
关键配置:
python run.py --search "关键词" --search-max 100 -p ./Downloaded场景三:重要直播留存
之前:手机架在旁边录屏,人不能离,录完还要剪掉水印和界面。
之后:配置live段,FLV 流实时录制,主播下播或网络空闲自动停止,已录部分保留,全程无人值守。
关键配置:
link: [https://live.douyin.com/房间ID] live: max_duration_seconds: 3600 # 0 = 录到主播下播 idle_timeout_seconds: 30嫌敲命令麻烦,仓库还带了桌面客户端 Douzy,共享同一套后端逻辑:粘贴链接一键开始下载,任务中心里看每个任务的状态、直接打开文件目录。
问题速查表:五个高频故障这样解
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 接口提示未登录 | Cookie 失效 | 可交互环境工具自动弹浏览器重登并重试;服务器上用python -m tools.cookie_fetcher --config config.yml手动刷新 |
| 主页只抓到 20 条左右 | 接口翻页风控 | 确认browser_fallback.enabled: true、headless: false,浏览器弹窗里手动完成验证,别急着关窗口 |
| 个别视频失败 | 作品被删、设私密或断网 | 默认跳过失败项继续跑,加-v看完整日志定位原因 |
| 文件名日期"不对" | 发布时间缺失回退到当天 | 属预期行为,日志有告警;介意的话检查filename_template变量 |
| 重跑又全量下载 | 没开增量或媒体文件被删 | 检查increase对应模式为true;删过文件会导致该条重下,属设计如此 |
使用边界:三条红线记住就行
- 用途:适用于个人学习、研究分析、内部素材整理,不用于商业性内容分发或侵权二次传播;
- 频率:内置了请求间隔与并发上限(
rate_limit、thread),保留这些限速逻辑,别硬冲接口,大规模高频抓取会干扰平台服务; - 尊重:下载内容标注来源,遵守平台内容使用协议,不用于恶意竞争或获取隐私信息。
能力与合规是一体的——工具跑得再快,用对了地方,效率才真正属于你。
行动清单:今天就动手
- 克隆仓库并执行
pip install -r requirements.txt装好依赖; - 配置
cookies: auto,跑一次自动登录确认能打开抖音接口; - 试跑一个你关注博主的主页,用上面 6 行最小配置验证产物目录;
- 挂上
increase增量同步和 crontab 定时任务,让它每天自己跑。 ✅
四步走完,小林那十个小时里九成机械重复的活就交出去了——把重复还给工具,把时间还给你。
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考