douyin-downloader 免费无水印批量下载:从 0 到增量跟踪的完整教程
【免费下载链接】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 搬进新家:装好环境与依赖
🏠 先定个说法:把搭好这个工具比作搬进新家。Python 是水电,源码仓库是毛坯房,依赖是进场的第一批家具,Cookie 是门禁卡,首次下载是试灯,批量配置是装修,SQLite 去重是入住登记。
水电先通。它要求 Python 3.9 以上(3.12 以下都稳),终端敲一下确认:
python --version看到Python 3.9.x到3.12.x任意版本号即过关。然后搬砖、装家具:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt pip install playwright && playwright install chromium前两条把源码拉到本地并装好核心依赖;最后一条装 Playwright 浏览器内核,接口触发风控时主页作品会用它兜底。最后一行出现chromium installed且全程无红字,水电就通了。
3 分钟配好 Cookie:拿到进抖音的门禁卡
为什么需要 Cookie?抖音接口认登录态,没有它,大部分接口直接拒载。这份"门禁卡"有两条路,选一条就行。
复制项目根目录的config.example.yml为config.yml,然后跑官方脚本:
python -m tools.cookie_fetcher --config config.yml会自动弹出一个浏览器窗口,在里面用抖音 App 扫码登录,回到终端按回车。看到Saved X cookie(s) to config/cookies.json且没有Missing required cookie keys的警告,门禁卡就配好了。
不习惯自动化的走手动路:在已登录的网页版抖音按 F12 打开开发者工具,从请求头里复制cookie原文,把msToken、ttwid、odin_tt、passport_csrf_token等键值对填进config.yml末尾的cookies:块。两分钟就能抄完。
第一次试灯:一条链接下完整条无水印视频
门禁卡就位,立刻试灯。复制任意一条分享链接,比如https://v.douyin.com/xxxxxxx,跑:
python run.py -u "https://v.douyin.com/xxxxxxx"工具会解析短链、取出作品 ID、匹配无水印流地址,然后落盘到Downloaded/。终端会实时滚动:
Found 1 URL(s) to process 解析链接 → 创建下载器 → 执行下载 ████████████████ 100% === Overall Summary === 成功 1 / 失败 0 / 跳过 0打开Downloaded/,按作者名分好层,每个作品一个文件夹:视频本体、封面图、*_data.json元数据各归其位。看到成功 1,说明整条链路已经通了。文件名想换成别的样式,改filename_template即可。
六类链接都吃:功能全景一眼看完
试灯之后看看这房子能装多少东西。👇 按问题问:
- 就一条视频呢?短链、作品页长链都行,就是刚才那条
-u命令。 - 想备份某博主的全部主页作品?把
https://www.douyin.com/user/xxx放进配置的link,mode保持post,自动翻页遍历。 - 顺手收走他点赞的内容?
mode里加一行like,数量用number.like控制。 - 整个合集教程怎么存?合集链接直接扔进
link,自动识别为mix类型逐个下载。 - 只想要 BGM 呢?
music: true,视频会顺带存一份 MP3 原声;音乐页链接也能单独下。 - 直播能录吗?
live.douyin.com房间链接会被识别为 live 类型,可选清晰度开录(实验功能)。
命令行版之外,项目还有个姊妹产品 Douzy 桌面版:同样这些场景,配置变成了勾选框和滑块,不想碰 YAML 的话可以考虑。
长期跟踪一位博主:增量下载与时间过滤怎么配
🔁 这才是它批量下载最值钱的地方。一份完整可跑的 YAML,逐字段过:
link: - https://www.douyin.com/user/你的主页ID # 目标博主主页 path: ./Downloaded/ # 落盘根目录 mode: [post] # 只下发布的作品 number: post: 50 # 每次最多拉 50 条,0 为不限 start_time: "2025-01-01" # 只要这个日期之后的内容 increase: post: true # 增量:下载过的自动跳过 video_quality: highest # 画质档,可设 original 探原片 thread: 5 # 并发线程数 retry_times: 3 # 单条失败自动重试次数python run.py -c config.yml跑起来,剩下的交给它。increase.post: true是增量开关,配合 SQLite 数据库记住下载过的作品 ID:下次重跑,已存过的条目直接标记跳过,不重复烧流量。文件按"作者 → 日期_标题_ID"归档,一个作品一个文件夹,翻历史按日期找就行。
桌面版把同一套选项做成了界面:作品、喜欢、合集、音乐四格勾选,数量上限直接填,适合长期跟踪多个博主。
掉线的四个老地方:现象、原因与自救命令
⚠️ 用久了难免掉线,四个高频坑一次说清:
Cookie 又失效了(提示"登录态失效"或直接拒载)——登录态会过期。解决:重跑python -m tools.cookie_fetcher --config config.yml刷新;新版 CLI 检测到失效还会自动拉起浏览器重登一次。
下载偏慢——网络本身或并发太高被限。加-v看详细日志确认卡点,再降线程:python run.py -c config.yml -t 2;走代理的话在配置里加proxy字段。
个别视频 404——大概率被作者删除或设为私密,没救;若是接口限流,内置重试和浏览器兜底会顶上来,稍等即可。
磁盘快满了——把path指到大容量磁盘,或者把cover、music、json都关成false,只留视频本体。
再往前一步:文档、源码与可调参数
想要全量字段参考,config.example.yml 每一行都有注释;整体使用看 README.zh-CN.md。进阶玩家可以翻core/和control/目录:downloader_factory.py演示链接类型如何路由到不同下载器,control/里是限速、重试与队列的实现,写自己爬虫时很有借鉴价值。thread、retry_times、video_quality、start_time这几个参数多试几轮,会找到最贴你网络的组合;python run.py --help能列出全部命令行参数。
最后说句实在话:把它定位成个人备份工具,无水印批量下回来只用于自己学习、存档和研究,尊重创作者版权,别二次传播或商用。门禁卡配好了就现在复制第一条链接,跑出你的第一个下载任务吧。
【免费下载链接】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),仅供参考