抖音无水印批量下载 4 步快速上手: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 是一个免费开源的抖音批量下载工具:贴一个链接,它自动挑选无水印的视频源,把作品批量落盘到本地磁盘。单条作品的抖音无水印下载,或整页博主主页批量下载都能覆盖。全程不改代码,只动几个配置字段,适合想备份博主作品的个人用户。
一个工具,几件事:哪些抖音下载需求它能接
先快速对号入座,看看你要做的事在不在里面:
- 存一个主页:把某位博主的全部作品按「作者 → 类型 → 日期」搬进本地文件夹,封面、原声、JSON 元数据按需附带;
- 追更不重下:过几天对同一主页再跑一次,数据库里记过的条目自动跳过,只搬新增作品;
- 合集整存:把合集页链接丢进配置,长系列一次性批量收齐;
- 只留原声:关掉视频、打开原声,每个作品只留一份 mp3,体积省一大截。
四种玩法的入口都是同一个:一份 YAML 配置 + 一条链接。
第一次配置:4 步跑通抖音无水印下载
第 1 步:拉代码,装依赖
先敲python -V确认版本在 3.9 及以上(pyproject.toml 声明的最低要求),然后:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txtrequirements.txt就是全部依赖清单。pip 跑完、没有红色 Traceback 就算成了。
第 2 步:生成一份自己的配置
cp config.example.yml config.yml项目根目录多出一个config.yml就说明成功了。后面所有改动都在这份文件里做;拿不准字段含义时,翻一眼配置样例,每个字段都带了注释。
第 3 步:扫码拿登录态(Cookie)
扫码登录和翻页风控时的浏览器兜底,都依赖 Playwright 自带的 Chromium,先装上:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml前两条装过可跳过。第三条会弹出浏览器窗口:在里面扫完抖音登录码,切回终端按回车,登录态自动写进config.yml。终端确认 Cookie 已保存、且没有提示缺ttwid、odin_tt这类关键字段,这步就成了。
第 4 步:提交第一条链接
打开config.yml,把目标链接放进link列表:
link: - https://www.douyin.com/video/xxxxxxxxxx执行:
python run.py -c config.yml看到Downloaded/下出现新目录,按作者、类型、日期分好层,视频本体不带水印——整条链路就跑通了。
配置字段速查:最常动的那 4 个
配置有五十来个字段,日常真正反复碰的就是这四个:
thread: 5 # 并发下载数,被限流就降到 2~3 retry_times: 3 # 单条作品失败后的自动重试次数 proxy: "" # 网络不稳或持续限流时填代理地址 video_quality: highest # 画质档位:highest / original / 1080p 等thread:同时下几条,默认 5。遇到频繁超时先降它,别急着怀疑链接失效。retry_times:偶发失败会按间隔自动补,不用盯盘。proxy:接口请求和媒体下载共用这一个字段。video_quality:highest只在转码档里挑,请求省;original会额外探测上传原片,体积大但最清晰,匹配不到指定分辨率时自动降级到最近的可用档。
另有一个隐藏搭档:database: true(默认开启)。它把历史写进dy_downloader.db,「数据库记录 + 本地文件」双重比对,才是重复运行时跳过旧条目的真正依据。
按目标对号入座:批量下载场景改什么
- 整站保存一个主页→
link填主页地址,mode设post,number.post定条数上限(0为不限) → 作品按日期逐个落盘,终端输出每条进度。 - 追更同一主页不重下→
increase.post: true,保持database: true(两者默认都是开着的) → 再次运行时旧条目被跳过,只下新增。 - 合集整集收→
link填合集页地址,number.mix: 0→ 该合集下作品全部收进mix/目录。 - 只保留原声→
video: false、music: true、cover: false→ 每个作品目录里只剩一份 mp3。 - 只要某个时间窗的作品→
start_time/end_time填YYYY-MM-DD格式的日期 → 窗口外的作品直接被过滤,不发起下载。
卡住了怎么办:常见失败现象问答
Q:主页翻到二十来条就停了,为什么?A:大概率是翻页触发了抖音风控。把browser_fallback.enabled设为true、headless设为false,弹窗出现后手动过一遍验证,期间别急着关窗口。
Q:终端提示登录态失效、请求 403?A:抖音登录有时效,这属于常态。重跑第 3 步的 cookie_fetcher 命令,扫码刷新一次即可。
Q:个别作品反复失败,要处理吗?A:作品被删或设为私密时就是会失败,不用管。如果确认只是限流,retry_times: 3会按间隔自动补下。
Q:整体变慢、大量超时?A:先给proxy填上代理,同时把thread临时调小,过一会儿再跑。
Q:重跑时没跳过旧文件,重复下载了?A:检查database: true是否被关掉——跳过逻辑靠「数据库记录 + 本地文件」双重比对,缺了数据库这一环就会重新下。
再往深里看,以及一条底线
想逐字段过一遍配置语义、了解风控接口的现状,读 README.zh-CN.md,其中「限制说明」一节写得很直白;想搞懂下载、去重、重试是怎么实现的,从 core/ 目录入手即可。
最后说句必须说的话:这个工具适合个人学习、备份与研究使用。下载的内容请尊重创作者版权,不要二次传播,更不要商用——把这条底线守住,工具才能用得长久。
【免费下载链接】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),仅供参考