抖音无水印批量下载工具 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 的抖音无水印下载工具:粘贴一条链接,它负责解析、挑选无水印源、按作者目录整理保存。除了单条视频,它还支持作者主页作品批量采集、直播录制、评论抓取,并内置失败重试、并发限速与 SQLite 去重。本文按"先用起来,再调细节"的顺序,带你把环境装好、把第一组视频下下来,最后处理常见问题。
三种典型用法,先对号入座
这个工具的设计思路是"一个配置 + 一条命令",不同场景只是改link和几个字段:
- 收藏少量作品:把单条视频链接(支持
https://v.douyin.com/xxx短链)填进配置,或者临时用-u参数追加,不动主配置文件。已有文件的作品会被直接跳过,同一份清单可以放心反复执行。 - 整页主页采集:链接换成
https://www.douyin.com/user/xxx形式的主页地址,mode列表里可叠加post(发布作品)/like/mix(合集)/music(原声),number.post: 50限量、start_time/end_time按日期圈范围(格式YYYY-MM-DD,含结束日当天)。 - 直播与数据:
link指向live.douyin.com/{房间号}即进入录制模式,live.max_duration_seconds: 0表示一直录到下播;comments.enabled: true会为每个作品额外输出*_comments.json,include_replies: true时连二级回复一起抓。
提示:2026 年 8 月起抖音接口风控收紧,单视频、合集、点赞等接口在纯 CLI 模式下可能受阻。主页作品可开启
browser_fallback(Playwright 浏览器兜底)提高成功率;若你主要面向日常多平台下载,可关注仓库中提到的 Douzy 桌面版,两者的核心配置项是一致的。
安装、登录与首个下载任务
分四步,总耗时取决于网络,通常两三分钟内可以跑起来。
第 1 步:克隆仓库并装依赖(需要 Python 3.9+)
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt浏览器兜底和扫码登录需要 Chromium,再补装:
python -m pip install playwright python -m playwright install chromium第 2 步:扫码登录,把 Cookie 写进配置
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml浏览器弹出后登录抖音,回到终端按 Enter,Cookie 就自动保存好了,不需要手动从浏览器里复制。这个逻辑在 tools/cookie_fetcher.py 中实现。
第 3 步:把目标写进配置。最简修改只有两处:
link: - https://www.douyin.com/user/你的sec_uid path: ./Downloaded/其余字段建议先照 config.example.yml 里的注释保持默认,跑通之后再按需微调。
第 4 步:启动任务
python run.py -c config.yml终端会显示 Rich 进度条,实时给出成功、跳过、失败三个计数。临时追加链接用python run.py -c config.yml -u "https://www.douyin.com/video/xxxx",它只会追加、不会替换配置里的链接;全部参数可看python run.py --help。
下载结果怎么组织:目录、清单与去重
文件默认落在path指定的目录(默认./Downloaded/),层级是作者名 → 模式 →日期_标题_作品id。每个作品目录里除.mp4本体外,按开关还会生成_cover.jpg、_music.mp3、_avatar.jpg、_data.json等派生文件;根目录另有download_manifest.jsonl清单(每行一条 JSON,含发布日期、标签、文件路径,方便二次检索)和dy_downloader.db去重库。相关实现分别在 storage/file_manager.py 与 storage/database.py。
两个容易混淆的去重开关,建议分清用途:
| 配置 | 行为 |
|---|---|
increase.post | true跳过已下作品(增量);false对当前筛选范围内的作品强制重下并覆盖 |
redownload_missing_files | true(默认)磁盘文件缺失或为空时重新下载;false时数据库有有效记录就跳过 |
提示:作者昵称重名时目录会合并、改名会分裂,重度采集建议把
author_dir设为nickname_uid,目录唯一且仍可读。
画质、并发与数据扩展配置
以下选项在 config/default_config.py 中都有默认值,按需覆盖即可。
画质:video_quality默认highest(在码率阶梯里挑最高档)。想追原片用original,它会对每条作品多一次探测请求,探测到比最高转码档更大的原片时优先下载原片,否则回退;省流量用lowest;也可以直接写1080p/720p等档位,匹配不到会自动降级到最接近的可用档。
并发与限流:thread默认 5 并发,rate_limit控制单线程速率,retry_times默认重试 3 次。下载慢或频繁限流时把并发降到 3,网络不稳再给proxy配 HTTP 代理。
评论与通知:comments块控制评论采集,请求量较大,建议同时设max_comments限量。任务完成推送支持 Bark / Telegram / Webhook 三种渠道,配置在notifications.providers,实现见 utils/notifier.py。
如果你更习惯图形界面,Douzy 桌面版在粘贴链接、查看进度上体验和 CLI 一致,且内置抖音、TikTok、YouTube 等多平台切换:
常见问题与解决办法
- Cookie 失效、出现 403 或风控报错:重跑
python -m tools.cookie_fetcher --config config.yml扫码刷新。单视频、合集类接口若持续被拦,属于平台风控,重刷 Cookie 也解决不了,可换桌面版或等策略变化。 - 主页只抓到少量作品:确认
browser_fallback.enabled: true且headless: false,浏览器弹出后手动完成验证再等待它翻完页;当前风控下仍可能受限,这属于接口层面的限制而非配置错误。 - 想强制重下已有作品:把
increase.post设为false即可覆盖重下当前筛选范围,不需要手动清数据库;彻底重来则删除对应文件夹并清理dy_downloader.db记录。 - 下完找不到文件:先看
path设置,文件在"作者名 → 模式"两层子目录内,不在Downloaded/根目录下。 - 想看详细日志:加
-v参数运行,例如python run.py -c config.yml -v。
提醒:下载内容请仅用于个人观看与学习,不要商用或二次传播;平台接口策略会持续调整,功能偶发失效属正常技术风险,留意项目更新即可。
【免费下载链接】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),仅供参考