抖音合集批量下载教程:用 douyin-downloader 一键归档整套视频
【免费下载链接】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
想要把一整个抖音合集保存下来,过去只能逐个打开、逐个保存,耗时长还容易漏。开源工具 douyin-downloader 提供了免费的抖音合集批量下载方案:一条配置就能把合集、作者主页、图集、音乐(原声)去水印存到本地,并自带进度显示、失败重试、SQLite 去重与浏览器兜底。
快速开始:三步跑起来
第一步:获取代码并安装依赖
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第二步:获取 Cookie
抖音接口需要登录态才能稳定取数,项目内置了自动抓取脚本:
python -m tools.cookie_fetcher --config config.yml脚本会打开浏览器,登录抖音后回到终端按回车,Cookie 会自动写入配置文件,不用手动复制字符串。
第三步:准备配置并启动
cp config.example.yml config.yml在config.yml里填入要下载的合集链接(见下文示例),然后运行:
python run.py -c config.yml运行后终端会显示每个视频的下载进度,完成时给出汇总结果。
核心能力一览
把功能按使用视角分成四组,方便按需取用:
🎯 覆盖面:什么链接都能接
- 单个视频、图集笔记(
/video、/note、/gallery) - 单个合集(
/collection/{mix_id}、/mix/{mix_id}) - 音乐/原声(
/music/{music_id},优先直取音频) - 作者主页批量下载,支持
post/like/mix/music多种模式 - 短链接
https://v.douyin.com/...自动展开解析 - 自动选择无水印源,并从多档码率中挑选最高画质
⚡ 稳定性:批量任务跑得完
- 多线程并发下载(默认 5 线程,可调)
- 指数退避重试(1s / 2s / 5s),失败自动重发
- 下载完整性校验,自动清理残缺文件
- SQLite 记录下载历史 + 增量模式,重复运行不会重复下载
🗂 组织力:文件落地即可归档
- 按
<作者>/mix/<合集名>/分层建目录,folderstyle: true时每个视频独立文件夹 - 文件名/文件夹名支持模板变量(
{date}、{title}、{id}等) - 可附带保存封面、原声、作者头像和完整 JSON 元数据(标题、发布时间等)
- 可选按
start_time/end_time过滤,只留指定时间段的作品
🔄 容错力:接口不通还有后路
- API 请求失败时自动切换浏览器模拟抓取(
browser_fallback) - 遇到验证码时支持人工介入
- 默认 2 req/s 限速,降低被风控概率
配置详解:一份合集下载配置怎么写
下面是一份典型的合集下载配置,字段逐个解释:
link: - https://www.douyin.com/collection/1234567890123456789 path: ./Downloaded/ mode: - mix thread: 5 retry_times: 3 proxy: "" database: true database_path: dy_downloader.db video: true cover: true json: true music: false start_time: "2024-01-01" end_time: "2024-06-30" folderstyle: true filename_template: "{date}_{title}_{id}" video_quality: highest| 字段 | 作用 |
|---|---|
link | 要下载链接列表,视频、合集、作者主页、短链接都可以放进来,一次填多个即批量任务 |
path | 下载产物保存根目录 |
mode | 链接为作者主页时决定下载什么:post作品 /like点赞 /mix合集 /music原声 |
number | 各模式下限定的下载数量,0表示全部 |
thread | 并发线程数,网络不好时调小(如 3),网络空闲可调到 8 |
retry_times | 单条作品失败后的重试次数 |
proxy | 可选代理,留空为直连 |
database/database_path | 是否启用 SQLite 历史记录,用于去重与增量判断 |
video/cover/json/music | 分别控制视频本体、封面、JSON 元数据、原声是否保存 |
start_time/end_time | 发布时间过滤,格式YYYY-MM-DD,范围外的作品直接跳过 |
folderstyle | true时每个视频建独立文件夹,便于归档 |
filename_template | 命名模板,支持{id} {title} {author} {date}等变量,保留{id}可避免重名覆盖 |
video_quality | 画质档位:original原画、highest最高转码档、lowest省流量,也可指定1080p、720p等分辨率 |
命令行参数可以临时覆盖配置,例如:
python run.py -c config.yml -t 8 -p ./Downloaded-t临时改并发,-p临时改保存目录,适合一次性的快速任务。
故障排查:常见症状对照表
| 症状 | 可能原因 | 处理 / 预防 |
|---|---|---|
| 下载速度慢 | 并发过高触发限速,或代理链路不佳 | 将thread降到 3、retry_times提高到 5;避开高峰时段;确认proxy配置正确 |
| 部分视频失败 | Cookie 失效、单条链接失效、网络抖动 | 重新运行tools.cookie_fetcher更新 Cookie;失败的链接单独放进link再跑一次;查看日志定位具体报错 |
| 文件名混乱、互相覆盖 | 命名模板缺少唯一变量 | 模板中保留{id},例如{date}_{title}_{id};开启folderstyle: true让每个视频独立成文件夹 |
| Cookie 频繁过期 | 登录态自然失效、频繁换设备 | 定期备份config.yml;在固定网络环境使用;过期后重跑 Cookie 抓取脚本即可 |
| 重复下载浪费时间 | 未启用去重 | 保持database: true,并让increase增量选项生效,第二次运行会自动跳过已下载作品 |
原理速览:它是怎么工作的
- URL 智能解析:core/url_parser.py 用正则识别视频、图集、合集、主页、短链等多种格式,并提取出
aweme_id、mix_id等关键参数,短链接会先展开再解析。 - 批量队列:core/mix_downloader.py 负责合集任务——先取合集详情和作者信息,再把每个作品排入下载队列,按序下载并逐项刷新进度;作者主页任务则由 core/user_downloader.py 按
mode分发到不同策略。 - API 优先 + 浏览器兜底:正常走官方接口取数;当接口被拦截或翻页受阻时,自动拉起浏览器模拟操作(可通过
browser_fallback配置头显、滚动次数、超时),并支持人工处理验证码。 - 重试与限速:网络异常按 1s / 2s / 5s 退避重试,默认 2 req/s 的请求频率让批量任务更不容易触发风控。
进阶与典型场景
高阶玩法
- 增量更新:
increase各模式设为true后,重复运行只会补新内容,适合长期跟踪某位作者 - 定时竞品监控:把关注的几个作者主页放进
link,配合增量模式定期跑,自动积累更新 - 评论采集:开启
comments可为每个作品额外生成*_comments.json - 画质定制:
video_quality: original会先探测原片,比转码档更大时优先下载原片
场景一:内容创作者的素材库
运营者可以按start_time/end_time划分学期或月份归档竞品内容,配合json: true保留发布时间和作者信息,后续检索引用都方便。
场景二:教育研究者的教学素材
下载某领域教程合集时开启folderstyle: true,每个视频独立文件夹且带元数据,按时间过滤后能直接拼出一条结构化的学习路径。
场景三:团队共享资源库
约定统一的path和命名模板,把下载产物放进共享目录,团队就能按相同的结构查找和复用素材。桌面版(Douzy)还支持同步账号关注列表、直接从列表里发起下载,适合日常跟踪:
写在最后
douyin-downloader 把"打开—分享—保存—重命名"这套重复劳动变成了配置文件里的一行链接,批量合集、作者主页、图集和原声都能覆盖,去重、重试、兜底机制也让大任务更省心。
实用小贴士:
- 首次使用先拿一个小合集试跑,确认目录结构和画质档位符合预期再上大批量任务
- Cookie 过期是最常见的"玄学问题",遇到批量失败先重跑
tools.cookie_fetcher - 重要配置和数据库文件(
dy_downloader.db)建议定期备份 - 网络不稳时优先降并发、加重试,比单纯加大线程更有效
- 下载内容请仅用于个人学习、研究和归档,尊重创作者版权,合理使用下载所得
【免费下载链接】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),仅供参考