news 2026/9/16 20:17:19

抖音批量下载工具 douyin-downloader 完整指南:10 分钟下完无水印视频并一键归档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抖音批量下载工具 douyin-downloader 完整指南:10 分钟下完无水印视频并一键归档

抖音批量下载工具 douyin-downloader 完整指南:10 分钟下完无水印视频并一键归档

【免费下载链接】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 就是一款开源的抖音批量下载工具:无水印视频、图文、合集、音乐原声、直播录制,你只需给它一个链接加一份配置文件,去重和重试它自己兜底。下面按顺序走一遍,从装环境到跑通第一条下载。

一、环境准备:一键安装步骤

先确认你装了 Python 3.8 及以上(macOS、Linux、Windows 都行),然后拉代码、装依赖:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

装完跑一条命令验证环境就绪:

python run.py --version

能打印出版本号(2.0.0)就说明依赖没问题,可以继续了。

二、先搞定 Cookie:这一步决定下载成不成立

🍪 抖音的大部分内容只对登录用户开放,Cookie 没配好,接口请求会大面积报登录失效,后面所有步骤都白搭。项目给了三条路,按推荐程度排:

  1. 自动获取(推荐):先装浏览器组件,再运行获取脚本,它会弹出一个真实浏览器:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml

你在弹出的浏览器里扫码登录抖音,回终端按 Enter,Cookie 会自动写回config.yml,全程不用复制粘贴。

  1. 手动粘贴:从浏览器开发者工具的 Cookie 里拷出ttwidodin_ttpassport_csrf_token等键值,填进配置文件底部的cookies字段。config.example.yml 里有现成的字段占位,照着填即可。
  2. 运行中自动重登:下载过程中如果检测到登录态失效,程序会主动弹浏览器让你重新登录一次并自动重试,不用手动中断。

提前打个预防针:Cookie 会过期。哪天突然大面积失败,第一反应是重跑一遍获取流程更新登录态,别急着怀疑网络或代码。

三、第一次跑通:最小配置与成功标志

把模板配置复制一份:

cp config.example.yml config.yml

打开config.yml,只改两处:link里放一条作品链接,cookies填好登录态。最小可运行配置长这样:

link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ mode: - post number: post: 1 thread: 5 retry_times: 3

然后启动:

python run.py -c config.yml

跑完看这里确认是否成功:

  • 终端最后会出现一张Download Summary表格,列出「成功 / 失败 / 跳过」三类计数,成功数 ≥1 就算通了;
  • Downloaded/目录下能找到对应的 mp4 文件。

两条都满足,第一条无水印视频就到手了。

四、配置全景:必填、常用、进阶三层看

配置模板 的字段看着多,其实按重要性分三层,别一上来全读。

必填层link(链接列表)、path(保存目录)、cookies(登录态),三者齐了就能跑。

常用层:控制"下什么、下多少、什么画质":

配置项作用说明
mode抓取模式post作品 /like喜欢 /mix合集 /music音乐,主页下载时生效
number各模式数量上限0表示全量,如post: 50
video/music/cover是否下视频本体、原声、封面默认只存视频,其余按需开
json保存元数据留档备查
start_time/end_time日期过滤格式YYYY-MM-DD
video_quality画质选择highest默认最高转码档,original会探测原片
thread并发数默认 5
retry_times单条失败重试次数默认 3

进阶层只展开两个最关键的:

  • database: true(默认开):每条下载记录写进 SQLite(dy_downloader.db),下次运行自动跳过已下载内容,配合本地文件双重去重。
  • browser_fallback:主页翻页被风控卡住时自动拉起浏览器兜底,弹窗后手动过一下验证码即可继续,只删headless保持false就能人工接管。

更多参数语义可以直接翻 config.example.yml,每个字段都有注释。

五、场景实战:从单条到批量备份

单条作品练手

拿不准 Cookie 和网络是否正常时,先丢一条视频链接进去试(见第三节),验证通过再上批量。

整站备份一个创作者

最常用的场景:一个主页链接、多模式、数量上限一设,剩下交给程序:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 0 # 0 = 全部 mix: 20 # 合集最多 20 个

跑完该博主的作品与合集按目录归档到本地,跨模式自动去重,同一个作品不会下两遍。

图文与合集直接丢链接

/note/{id}图文、/collection/{id}合集链接放进link就能被自动识别,不用指定mode

收藏内容同步到本地

登录 Cookie 对应的账号收藏夹也能批量收,collect(收藏作品)和collectmix(收藏合集)需单独使用,不能和post等模式混着写。

直播录下来

直播间链接填进link,程序自动拉直播流,不用开录屏软件:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 = 录到主播下播

主播下播或 Ctrl+C 中断时,已录的字节都会保留成正式文件。

六、长跑调优:三组搭配让批量任务不翻车

⚡ 任务跑得越久,越怕中途崩掉白跑一趟。参数不用多,记住这组搭配:

  1. 重试兜底retry_times: 3,程序内置指数退避(1s/2s/5s),单条失败会自动补上,网络抖动不会留缺口。
  2. 增量 + 去重双保险database: true搭配increase: {post: true},以后每天跑一遍只拿新发布的内容,硬盘不越堆越多。
  3. 并发循序渐进thread从 5 起步,网络好再试 8。程序默认限速 2 请求/秒,一上来拉满并发反而容易触发风控,比慢工出细活更慢。

七、产物归档:下载完的文件长什么样

默认folderstyle: true时,文件按"创作者 → 模式 → 作品"分层归档:

Downloaded/ ├── dy_downloader.db # 去重数据库 └── 作者昵称/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── 视频.mp4 # 无水印视频 │ ├── 视频_cover.jpg # 封面 │ ├── 视频_music.mp3 # 原声音频 │ └── 视频_data.json # 元数据 ├── like/ ├── mix/ └── live/ # 直播录制落这里

层级清晰有两个好处:找东西快;而且每条作品和数据库记录一一对应,"下没下过"查目录和查库都能确认。想调整命名可以改filename_template/folder_template,唯一要求是模板里带上{id}避免重名覆盖。

收尾:高频问题排障表

问题原因解法
主页只抓到 20 条左右翻页被风控限制确认browser_fallback.enabled: trueheadless: false,弹窗后手动过验证别急着关窗
突然大面积下载失败Cookie 过期重跑python -m tools.cookie_fetcher --config config.yml更新登录态
硬盘里堆出重复文件没开数据库去重database: true配合increase走增量
想重新下载某一条数据库记录让它被跳过删掉本地对应文件夹,再用sqlite3 dy_downloader.db删掉库里那条记录
进度条刷屏重复日志在进度阶段重复输出默认progress.quiet_logs: true已静默,调试时才加-v

行动清单,照着做就行:

  1. 单条作品先练手,跑通再加批量
  2. Cookie 定期更新,过期了重跑获取脚本
  3. 并发跟着网络调,5 起步别拉满
  4. 测试时设数量上限,避免一次下太多
  5. 不同需求(备份、单条、直播)分配置文件

现在就去 clone 一份,先把第一条无水印视频存下来,攒你的抖音内容库。

本项目仅供技术学习与个人数据管理使用,请在合法合规的前提下使用,尊重内容版权与创作者权益,不得用于侵犯他人隐私或任何违法违规用途。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 20:16:25

YOLOWorld实战:基于ultralytics的开放词汇检测与自定义训练

最近不少做目标检测的朋友都在折腾YOLOWorld。原因很简单:传统YOLO系列训练完就只能检测固定类别,一旦场景里出现没见过的目标,只能重新标注、重新训练,整个流程又慢又重。YOLOWorld不一样,它可以靠文本描述直接识别出…

作者头像 李华
网站建设 2026/9/16 20:15:58

vmdk转qcow2避坑指南:qemu-img转换中的五大典型问题与解法

干这一行久了,虚拟机迁移就是家常便饭。尤其是从VMware往KVM迁,或者你从别人手里拿到一个打包好的vmdk,想在本地用QEMU环境跑起来,第一步就绕不开vmdk转qcow2这个格式转换。网上教程不少,一眼看去就是一条命令的事&…

作者头像 李华
网站建设 2026/9/16 20:15:27

Mole Mac 终端清理实战指南:3 个高频场景彻底找回磁盘空间

Mole Mac 终端清理实战指南:3 个高频场景彻底找回磁盘空间 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-D…

作者头像 李华
网站建设 2026/9/16 20:14:34

VS Code 高效刷 Codeforces:本地化竞赛工作流搭建指南

1. 项目概述:这不是一个“插件”,而是一整套 Codeforces 竞赛工作流的 VS Code 原生化重构 你搜“VSCODE codeforces 插件”,大概率会看到一堆零散的 GitHub 仓库、知乎短文,甚至某些论坛里“求推荐好用插件”的帖子。但我要先说…

作者头像 李华
网站建设 2026/9/16 20:14:13

WPS在Linux下打不开中文文件?KDE桌面启动器修复指南

如果你也是在 Arch Linux 上装 KDE 当主力桌面,又习惯用 WPS 打开同事发来的docx、xlsx、pptx,大概率迟早会撞见这个对话框:WPS 突然弹出来一句“无法找到“”。请检查文件名的拼写,并检查文件位置是否正确。”。我第一次看到的时…

作者头像 李华
网站建设 2026/9/16 20:12:13

企业级低代码工作流平台选型与落地实践指南

1. 项目概述:低代码工作流为何成为企业数字化转型的刚需去年为某制造业客户实施ERP系统升级时,他们的IT主管向我吐槽:财务部需要修改报销审批流程,从原来自动化系统里改个流程要等开发团队排期两周,业务部门天天催。这…

作者头像 李华