douyin-downloader 完整指南:5分钟上手抖音无水印批量下载
【免费下载链接】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 数据库去重,适合个人收藏创作者作品,也适合团队批量采集视频素材。
快速上手:5分钟完成第一次体验
环境要求 Python 3.8+,macOS / Linux / Windows 都能跑。克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt复制一份配置文件,再自动获取 Cookie(会弹一个浏览器,登录抖音后回终端按 Enter 即可):
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml最小示例:在config.yml的link里填一个视频链接,直接运行:
link: - https://www.douyin.com/video/7604129988555574538python run.py -c config.yml预期效果:终端出现进度条,几秒后无水印 mp4 落在Downloaded/目录里,按"作者/模式/日期_标题_作品ID"自动分好文件夹。
核心能力
无水印源与画质自动挑选
抖音接口会为每条视频返回多个码率档(即不同清晰度的文件列表)。工具默认在bit_rate列表里自动挑码率最高的一档,并优先选无水印视频源。效果就是下载下来的文件不带平台水印。想要更高清可把video_quality改成original,它会额外发一次探测请求去拿上传原片,探测失败自动退回最高转码档,不会报错。
双重去重与增量下载
判断"是否下过"靠两道检查:SQLite 数据库里的下载记录,加上扫描本地文件名中的作品 ID(aweme_id)。数据库有记录但本地文件丢了,会视为需要重下;文件在而库里没记录,也会补。实际结果是:同一批链接重复运行不会重复占空间,配合increase.post: true做每日更新时,只拉新发的作品。
重试、限速与浏览器兜底
每次请求默认限速 2 次/秒,失败按 1s、2s、5s 间隔指数退避重试(默认重试 3 次),这套逻辑在 control/ 里实现。下载完还会用 Content-Length 校验文件大小,不完整自动清理重下。批量翻页如果触发了平台风控(典型症状:只返回 20 条左右),工具会自动打开浏览器,你手动过一次验证码就能继续,这是 core/ 中 post 策略的兜底通道。
关键参数:6个改完就见效的开关
| 参数 | 默认值 | 什么场景下怎么改 |
|---|---|---|
thread | 5 | 网络好批量下时调到 8~10;网络不稳降到 1~2 |
retry_times | 3 | 重要素材存档时加大到 5,弱网更稳 |
number.post | 0(不限) | 只试水时先设 20~50,跑通再放开 |
video_quality | highest | 长期存档改original探测原片;省流量改lowest或720p |
increase.post | true | 每日追更保持 true 跳过旧作品;要重新覆盖改 false |
proxy | 空 | 需要代理出口时填http://127.0.0.1:7890这类地址 |
常见问题与自查
- 只抓到 20 条左右作品→ 翻页被风控拦截 → 确认
browser_fallback.enabled: true、headless: false,弹窗出现后手动完成验证,别急着关窗口。 - 解析失败或提示需要登录→ Cookie 失效 → 重新执行
python -m tools.cookie_fetcher --config config.yml刷新。 - 进度输出刷屏→ 默认日志未静默 → 保持
progress.quiet_logs: true,调试时再临时加-v参数。 - 没生成转写文件→ 转写默认关闭,且只对视频生效(图文不转写) → 检查
transcript.enabled、API Key 是否有效。 - 想强制重新下载某条→ 去重是"数据库+文件"双检查 → 只删文件会触发重下;两边都删才是彻底重置。
场景组合
个人追更收藏。把关注博主的主页链接写进配置,mode选post,increase.post保持 true,再用系统定时任务每天凌晨跑一次python run.py -c config.yml。每次运行只补新作品,目录按作者自动归类,无需人工整理。桌面版里也可以直接在"关注"页筛选出有新作品的博主,逐个点下载,界面如下:
团队素材采集。装上 fastapi 和 uvicorn 后,用python run.py --serve --serve-port 8000把工具跑成 REST 服务:往POST /api/v1/download提交链接,拿到 job_id,再轮询GET /api/v1/jobs/{job_id}查进度。配合notifications开启 Bark / Telegram / Webhook 推送,下载完成或失败都会通知到人。任务中心可集中查看每个任务的成功失败数,失败项支持直接重试:
收藏内容备份。登录自己账号后,链接填/user/self?showTab=favorite_collection,mode选collect备份收藏作品,或选collectmix备份收藏合集。注意这两个模式只能单独使用,不能和post/like混配。
收尾:选型建议
- 只想要单个无水印视频:装好依赖、填一条链接就能跑,5 分钟内可出第一个文件。
- 要长期追更博主:重点调
thread、increase和定时任务,双重去重保证不重复下载。 - 要批量、可观测:优先开 REST 服务模式加通知推送,比手工盯终端省心。
- 详细配置项与输出目录结构见 README.zh-CN.md,项目基于 MIT 协议开源,请仅用于合规的个人数据管理场景。
【免费下载链接】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),仅供参考