抖音批量下载终极教程: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 去重,让「刷到即拥有」不再是句空话。
动手之前,先看一张「能力速览」,搞清楚它究竟能把哪些内容变成你硬盘里的文件:
| 你想下载的内容 | 传统做法 | douyin-downloader 的做法 |
|---|---|---|
| 单条视频 / 图文 | 网页解析器,时常失效 | 粘贴链接即可解析无水印原片 |
| 作者主页大量作品 | 一条条手动复制保存 | 一次配置,post/like/mix/music 全模式抓取 |
| 合集与音乐原声 | 很难单独下载 | /collection、/music 直达原声文件 |
| 直播内容 | 录屏软件,易断易糊 | 内置直播录制,下播自动保留数据 |
| 大量素材管理 | 文件混乱、重复下载 | 自动分类 + 数据库双重去重 |
接下来,我们按「新手 → 进阶 → 高手」三个阶段,把这套工具从能用到用好讲透。
新手篇:10 分钟完成第一次下载
3 个命令装好运行环境
先别急着下载,把「地基」打牢。环境准备只需要三步:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader/douyin-downloader # 进入完整版代码目录 pip install -r requirements.txt💡 如果依赖拉取较慢,可以加清华镜像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple。
如果你打算用到「浏览器兜底」和「自动获取 Cookie」这两项进阶能力,再补装一行 Playwright 即可:
pip install playwright && python -m playwright install chromiumCookie 配置:只认这一种省心姿势
抖音需要登录态才能正常访问内容,Cookie 配置是新手最容易卡住的一步。好消息是,工具提供了全自动获取方式,全程不用手动复制粘贴一串乱码:
python -m tools.cookie_fetcher --config config.yml运行后会自动拉起浏览器引导你登录抖音,登录成功回到终端按下 Enter,Cookie 就被自动写进配置文件。当然手动方式也保留着:把浏览器开发者工具里的整串 Cookie 粘进config.yml的cookies字段即可。
第一次下载:从一条视频链接开始
复制任意一条抖音分享链接,写进配置文件:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ music: true # 同时下载原声 cover: true # 同时下载封面 json: true # 保存完整元数据 JSON然后运行python run.py -c config.yml,几秒后你会看到一个干净利落的命令行进度条:
下载完成后,每个作品会生成一个独立文件夹:无水印视频、封面图、音频、头像和 JSON 元数据一应俱全,直接就能拖进剪辑软件使用。
进阶篇:把「批量」两个字榨干
如何一次性搬空整个作者主页
这是 douyin-downloader 最核心的场景。把链接换成作者主页地址,再用mode声明要抓哪些内容:
link: - https://www.douyin.com/user/你的目标作者主页 path: ./素材库/{author}/ mode: - post # 发布作品 - like # 点赞作品 - mix # 作品合集 - music # 使用过的音乐 number: post: 50 # 每种模式单独限数,0 表示不限量 like: 0 thread: 5多个模式之间会自动去重:同一个作品无论出现在几个模式里,都不会重复下载。
合集与音乐原声:两条独立的下载通道
想做抖音合集下载或原声收集?不需要绕道主页,直接粘贴对应链接:
link: - https://www.douyin.com/collection/7341234567890123456 # 某个合集 - https://www.douyin.com/music/7341234567890123456 # 某首原声音乐模式会优先获取原始音频文件,缺失时才回退到该音乐下的首条作品,尽量保证音质不打折。
断网中断不用慌:完整性校验与双重去重
下载到一半断网、文件损坏、重复下载……这些传统下载器最头疼的问题,在这里都有兜底:
- 完整性校验:按 Content-Length 比对文件大小,不完整的文件自动清理并重试;
- 失败重试:指数退避策略(1 秒、2 秒、5 秒),临时网络抖动不致命;
- SQLite 去重:数据库记录 + 本地文件名扫描双重判断,已下载的作品自动跳过。
开启去重只需要两行配置:
database: true database_path: dy_downloader.db在此基础上还能开启「增量模式」,只下载新发布的作品,适合每天定时追更:
increase: post: true只想下载某段时间的内容?时间过滤了解一下
做素材归档时,往往只要某个时间段的作品。配置里加上起止时间即可:
start_time: "2025-01-01" end_time: "2025-12-31"配合path里的命名变量(如{author}、{date}、{title}、{id}),下载下来的文件会自动按「作者 → 发布时间 → 标题」组织得整整齐齐。
高手篇:这些隐藏能力让效率翻倍
直播怎么录?写进配置就能开录
需要记录直播内容(比如讲师分享、游戏赛事)时,把直播链接放进配置:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播 idle_timeout_seconds: 30录制支持 FLV 与 HLS,主播下播或网络空闲时,已录制的字节会被完整保留,不会白录一场:
评论采集、热搜榜与关键词搜索:数据控三件套
- 评论采集:开启后每个作品旁会生成
*_comments.json,可选是否拉取二级回复:
comments: enabled: true include_replies: true max_comments: 1000- 热搜榜快照:
python run.py --hot-board 30 -p ./Downloaded,把当日热搜落成 JSONL; - 关键词搜索:
python run.py --search "猫咪" --search-max 100 -p ./Downloaded,按关键词抓取作品清单。
这三样组合起来,做热点追踪、选题调研、数据分析都有现成数据可用。
下载完自动通知:Bark、Telegram、Webhook 任选
长时间批量任务无需一直盯屏幕。开启通知后,任务结束会主动推送到你的手机或群机器人:
notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY多个渠道可以并发推送,单个渠道失败也不会阻塞下载主流程。
翻页风控卡在 20 条?浏览器兜底来救场
很多人会遇到「主页只能抓到 20 条作品」的翻页风控。解决办法是让工具在 API 受限时自动切换到浏览器模式:
browser_fallback: enabled: true headless: false弹窗出现后手动完成验证(不要急着关窗口),验证通过后就能继续正常翻页抓取。
把下载器变成服务:一条命令开启 REST API
如果你想把这套下载能力集成进自己的系统(比如公司内部的素材平台),可以直接以服务模式运行:
pip install fastapi uvicorn python run.py --serve --serve-port 8000提供/api/v1/download、/api/v1/jobs等接口,提交一个链接就能异步排队下载。这也得益于项目清晰的模块化设计——core/负责下载逻辑、auth/管理登录态、storage/管文件与数据库、server/提供 API,彼此解耦,扩展起来很舒服。
避坑指南:新手最容易踩的 4 个坑
- 只抓到 20 条:优先确认
browser_fallback.enabled: true,并保证浏览器弹窗验证完成; - Cookie 过期:Cookie 通常有 7~30 天有效期,失效后重跑一次
python -m tools.cookie_fetcher --config config.yml即可; - 想重新下载却被一直跳过:程序靠「数据库记录 + 本地文件」双重去重,两个都得清,例如执行
sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id='xxx';"的同时删掉对应本地文件夹; - 进度条刷屏烦人:默认
progress.quiet_logs: true已静默日志,排查问题再临时加-v参数。
完整的抖音下载器配置说明与全部参数,可以查阅项目内的 README.zh-CN.md。
效率对比:省下的时间肉眼可见
用一个实际测试来感受差距——从一位作者主页下载 100 条作品并完成归档:
| 任务环节 | 手动方式 | douyin-downloader | 节省 |
|---|---|---|---|
| 100 条作品获取 | 约 1.5 小时(逐条解析) | 10~15 分钟 | 约 80% |
| 去水印处理 | 30 分钟(借助额外工具) | 下载即无水印 | 30 分钟 |
| 文件重命名归档 | 20 分钟 | 自动完成 | 20 分钟 |
| 重复下载排查 | 凭记忆,容易遗漏 | 数据库自动跳过 | 几乎为 0 |
工具的价值,从来不是替代创作,而是把「搬运」的时间还给创作本身。
写在最后
从一条链接的无水印下载,到整页批量抓取、直播录制、数据采集,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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考