抖音批量下载与去水印:douyin-downloader 上手指南
2026/9/15 17:40:59 网站建设 项目流程

抖音批量下载与去水印: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 是一个开源的抖音批量下载与去水印工具:能取无水印的最高清源,支持作者主页批量保存、直播录制,并自动去重归档。

项目速览

这是一个纯 Python 项目,三端可运行。

项目内容
语言Python 3.9+
运行平台Windows / macOS / Linux
核心能力去水印单作品下载、作者主页批量下载、合集与音乐原声、直播录制、SQLite 去重增量
许可证MIT
仓库地址见「快速上手」的 git clone 命令

去重基于 SQLite 数据库加本地文件名双重校验,重复运行只会补录新作品,已保存的文件不会再次下载。

快速上手

环境准备分三步:克隆、装依赖、配 Cookie。

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

关键在 Cookie,它相当于你访问抖音的凭证,缺失时拿不到视频源地址。先用cp config.example.yml config.yml把示例配置复制为 config.example.yml 同款结构的 config.yml,再运行自动抓取脚本:

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

脚本会拉起浏览器,登录一次抖音后回到终端按 Enter,Cookie 自动写入配置。然后编辑 config.yml:把link指向要下载的主页或作品,用mode选择 post/like/mix/music,path决定输出目录,database控制是否启用 SQLite 去重。

不想敲命令的话,项目配套了桌面版 Douzy(内测中),同一套后端,粘贴链接即可识别作品并开始下载。

典型使用场景

三个场景共用同一入口,改配置即可切换。

批量保存作者主页

你想把某位创作者的作品一次收齐。

python run.py -c config.yml -u <你的主页链接>

config.yml 里设mode: [post]number.post: 0(0 为不限),程序会翻页遍历主页、默认 5 并发下载,每个作品落到Downloaded/{作者}/post/{日期}_{标题}_{id}/,产物含视频、封面、音乐、头像与元数据 JSON,百条作品通常耗时 10~30 分钟。

批量下载合集与收藏夹

你想同步自己收藏的合集,或某个创作者的整组合集。

python run.py -c config.yml # link 填 /user/self?showTab=favorite_collection,mode 改 collect

运行后收藏夹内容逐个落盘到Downloaded/{作者}/collect/collectmix/目录,collect 模式只支持当前 Cookie 对应的登录账号,且需与 post/like/mix 单独使用。

挂机录制直播流

你不想错过一场直播,想让机器替你挂机。

python run.py -c config.yml # link 填直播间地址,live.max_duration_seconds 填 0 表示录到停播

工具先解析直播间标题、主播与在线人数,再开始录制 FLV/HLS 源,文件保存在Downloaded/{作者}/live/下并附带房间元数据快照,主播下播后已录制的字节会自动落盘。

进阶配置与避坑

长期用下来,下面几个开关最容易踩坑。

  • 增量下载:开启increase.post: true并保证database: true,再次运行只保存新作品;增量仅支持 post/like/mix/music 四种模式。
  • 输出路径:配置里的path字段或用-p命令行参数覆盖,默认./Downloaded/
  • 失败重试retry_times默认 3 次,指数退避间隔 1s、2s、5s;翻页被风控时会触发browser_fallback浏览器兜底,弹出窗口后手动过验证再关闭。
  • Cookie 过期:重跑python -m tools.cookie_fetcher --config config.yml重新登录保存,无需改代码。
  • 并发与限速thread默认 5,请求限速 2 次/秒,机器富余时可用-t 8临时提高并发。
  • 时间与命名start_time/end_time按日期过滤(格式 YYYY-MM-DD),filename_template自定义文件名,模板中必须保留{id}防止同名覆盖。

高频问题

先对照这五种情况排查。

问:为什么只能抓到 20 条作品?

答:这是翻页风控的常见表现。把browser_fallback.enabled设为 true、headless设为 false,浏览器弹出验证后手动完成再关窗,翻页会继续。

问:Cookie 失效了怎么刷新?

答:重新执行 tools/cookie_fetcher.py 对应的python -m tools.cookie_fetcher --config config.yml,登录一次即可写回配置。

问:之前下过的作品为什么不重复下载?

答:程序用 SQLite 数据库加本地文件名双重去重。确实想重下时,需要同时删除dy_downloader.db里的记录和Downloaded/下对应目录,只删一边不会触发重下。

问:文件到底存在哪里?

答:默认在Downloaded/{作者}/{模式}/{日期}_{标题}_{id}/,每个作品含视频、封面、音乐、头像与 JSON 元数据,根目录另有一份download_manifest.jsonl归档清单。

问:如何查看下载历史?

答:用sqlite3 dy_downloader.db查询 aweme 表,字段包括 aweme_id、title、author_name 与下载时间,可按时间倒序筛选。

douyin-downloader 的定位是一个务实的抖音去水印批量下载工具,覆盖单作品、主页批量、合集、音乐原声与直播录制。配置细节可查 README.zh-CN.md,下载行为默认由 config.example.yml 中的字段控制。如果你有想归档的作品,按前文三步配好后就能跑起来。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询