ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

douyin-downloader 快速上手:抖音视频无水印下载工具完整指南

douyin-downloader 快速上手:抖音视频无水印下载工具完整指南

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 记住下载历史,重复内容自动跳过。读完这篇,你能独立搭好环境、跑通第一条链接,并配置一套长期跟踪作者的增量任务。

抖音无水印下载前的四项准备

把整个过程当成一次开机自检:电源、硬盘、系统、账号,缺一项都启动不了。每一步都给你一个明确的"过关信号"。

1. 检查 Python。命令行输入python --version,看到 3.9 及以上的版本号即可(Windows、macOS、Linux 均支持)。

2. 拉取源码。

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader

3. 安装依赖。

pip install -r requirements.txt pip install playwright playwright install chromium

最后一行会下载 Chromium 内核,是后面扫码登录用的。没有红字报错就算通过。

4. 给工具办一张"工牌"。抖音接口只认登录态,这张工牌就是 Cookie:

cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml

命令会弹出一个浏览器窗口,手动登录抖音,回到终端按回车。过关信号:终端打印Saved N cookie(s) to config/cookies.json,并且config.yml末尾多出一段cookies:键值对。看到这两处,工牌就办好了。

一条链接验证下载是否成功

从任意抖音 App 的分享入口复制一条短链,运行:

python run.py -u "https://v.douyin.com/xxxxxxxx"

工具会依次走完"解析链接 → 创建下载器 → 执行下载 → 记录历史"几个阶段,终端实时显示进度条。收尾时会输出一行Overall Summary,格式是Total: 1, Success: 1, Failed: 0, Skipped: 0——Success 是 1 就算成功。

接着打开Downloaded/目录核对产物:

  • 一个.mp4视频文件,默认按{日期}_{标题}_{作品ID}命名;
  • 再跑一遍同一条命令,这条作品会被计入Skipped: 1,不会重新下载。

默认配置里封面(cover)、音乐(music)、元数据(json)都是关闭的,所以"一文件夹一个 mp4"就是标准结果。

先泼一点冷水:按 README 说明,抖音接口风控目前会阻止 CLI 下载单个视频/图文、合集、音乐、喜欢和收藏这几类链接,主页作品可尝试 Playwright 浏览器兜底但不保证成功。日常高频使用建议搭配项目里的 Douzy 桌面端,命令行版更适合写进自动化脚本。

五类高频场景的命令行写法

跑通单条之后,下面是日常最常用的五种用法。

存空一位作者的全部作品。把主页链接https://www.douyin.com/user/作者ID写进config.yml的link列表,mode保留post,运行python run.py -c config.yml即可自动遍历作品。

顺手收走 TA 点赞过的内容。在mode列表里加一行like,数量上限由number.like控制,0表示不限制。

下载合集系列。mode里加mix或allmix,对应number.mix/number.allmix设置条数上限;allmix会把该作者所有合集一次性展开。

图文笔记。把图文作品的分享链接直接用-u传入即可,图片会按顺序存为.jpg文件,工具会自动区分视频和图文两种类型。

把原声存下来。把music改为true,下载时顺带保存视频使用的背景音乐;mode: music则专门下载某位创作者的原声列表。

图中是 Douzy 桌面端的抖音工作台:左侧账号已登录,中间可以勾选"作品 / 喜欢 / 合集"并设置各模式的下载数量上限,界面版和命令行版共享同一套字段。

直播间的录像。传入live.douyin.com/{room_id}格式的直播间链接即可触发录制。但要注意 README 的提醒:直播录制属于实验功能,HLS 源保存的是播放列表文件而不是可直接播放的视频,对它的预期要放在"实验"档位。

增量下载:最短可用配置

假设你长期跟踪一位美食区创作者,想让新作品自动落到本地。最短可用配置如下:

link: - https://www.douyin.com/user/你的主页ID path: ./Downloaded/ mode: - post number: post: 8 increase: post: true start_time: "2026-03-01"

increase.post: true是这一节的主角:工具会把每次处理的作品写进dy_downloader.db这个 SQLite 库,下次运行自动跳过已存在的内容,不重复花带宽。配合start_time按日期圈范围(格式YYYY-MM-DD,含结束当天),一套"每周跑一次、只收新增"的备份就搭好了。

图中能看到链接任务的输入框与"单作品 / 博主主页"两种入口,配合左侧的任务中心,就是批量下载在界面版的对应形态。

下载出问题时查这五个问答

登录突然失效,提示要重新登录?现象是运行中弹出"检测到未登录,开始重新登录…",或者每条链接都失败。原因是 Cookie 这类登录凭证会随时间过期。处理:重跑python -m tools.cookie_fetcher --config config.yml扫码续期;交互环境下 CLI 也会自动开一次登录窗口,登录完成后它自己重试整条任务。

作者主页只下到几条就停了?原因是接口风控,工具转到了 Playwright 浏览器兜底路径。保持browser_fallback.enabled: true和headless: false,在弹出的浏览器窗口里手动完成验证,让兜底流程继续跑;兜底本身也不保证成功,属于尽力而为。

下载慢得让人怀疑人生?先确认网络本身,再调thread(默认 5 个并发,先降别升)。走代理的话把proxy字段填上,请求会整体换道。

磁盘眼看着要满?把path改到大容量盘的目录;或者把cover、music甚至video设为false减少产物——只保留元数据或只存音频,文件量立刻降下来。

想让某个作品重新下一遍?不用清空数据库。把increase.post改为false,工具会重下并原子覆盖当前筛选范围内的文件,SQLite 里的历史记录保持不动。

到这里,从环境自检到增量跟踪的整条链路就闭环了。全部字段的说明和默认值都写在 config.example.yml 里,下载与重试的核心逻辑在core/和control/目录,想改策略可以顺着读。最后一句必须说:这只适合备份自己有权使用的内容,别做二次传播或商用,创作者的版权和平台规则优先。

【免费下载链接】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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进