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 项目,支持视频、图文、合集、音乐的去水印下载,也能整页抓取作者主页作品,自带进度展示、失败重试和数据库去重。无论你是要备份自己的作品、收集创作参考素材,还是做内容研究,跟着这篇指南 5 分钟就能跑通第一次抖音批量下载。
为什么需要抖音去水印批量下载工具
官方渠道下载的视频都带水印,画质和内容都打了折扣;手动逐个保存又慢又乱。douyin-downloader 的定位很直接:通过解析抖音接口直接拿原始文件,把"无水印 + 批量 + 可管理"三件事一次做完,代码全部开源,可以逐行审查。
| 对比维度 | douyin-downloader | 手动/传统方式 |
|---|---|---|
| 水印 | 自动选取无水印视频源 | 带水印或录屏有损 |
| 批量能力 | 按作者主页整页抓取,支持 post/like/mix/music 多种模式 | 逐个手动保存 |
| 重复下载 | SQLite 数据库 + 本地文件双重去重 | 靠人眼辨认 |
| 稳定性 | 指数退避重试、速率限制、下载完整性校验 | 中断即失败 |
5 分钟跑通:安装、配置与首次下载
第一步:安装依赖
# 克隆项目并安装核心依赖 git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt # 复制一份可修改的配置文件 cp config.example.yml config.yml第二步:一键获取 Cookie
Cookie 是访问抖音接口的凭证,相当于登录后的"通行证"。推荐用项目自带的浏览器工具自动获取:
# 安装浏览器依赖(仅首次) pip install playwright && python -m playwright install chromium # 会弹出浏览器,登录抖音后回终端按 Enter,自动写入配置 python -m tools.cookie_fetcher --config config.yml工具源码在 tools/cookie_fetcher.py,Cookie 只会写入你本地的 config.yml。
第三步:下载第一个视频
把任意抖音视频链接替换到-u参数后面即可:
# 追加单条视频链接,下载到 ./Downloaded 目录 python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -p ./Downloaded几秒后,终端会显示解析、下载、校验各阶段的进度条,完成后在./Downloaded里找到无水印的 mp4 文件。
功能亮点:从单条到整页批量下载
单条视频无水印下载
粘贴视频、图文(note/gallery)、合集、音乐任意一种链接,工具会自动识别类型。视频会基于接口返回的多档码率自动挑选最高清晰度;音乐优先取原声文件。示例命令见上文第三步,图文链接形如python run.py -c config.yml -u "https://www.douyin.com/note/7341234567890123456"。
批量下载作者主页作品
把主页链接写入link,配合mode和number控制下载范围,默认 5 并发、失败自动重试:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 作者公开作品;也可加 like/mix/music number: post: 50 # 只下载最新 50 条,0 表示全量 thread: 5 # 并发下载数下载文件默认按日期_标题_作品ID建立子目录,作者、模式各有一层目录,配合 下载策略 目录下的多种模式实现,同一作品跨模式不会重复下载。
批量采集收藏夹与喜欢列表
登录账号后,可以批量保存自己收藏的视频和收藏合集(collect/collectmix模式需单独使用),也支持按作者点赞作品(like模式)整页抓取,适合做素材库。示例配置:
link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collectmix number: collectmix: 0 # 0 表示不限条数进阶玩法:参数调优与个性化配置
配置文件项都有默认值,完整说明见 config.example.yml,加载逻辑在 config/config_loader.py。几个常用调整:
increase: post: true # 增量模式:只下载没存过的新作品 start_time: "2026-01-01" end_time: "2026-06-30" # 按发布时间过滤 progress: quiet_logs: true # 进度阶段静默日志,减少刷屏 proxy: "http://127.0.0.1:7890" # 需要代理时填写- 控制数量与频率:
number.post限制条数;默认速率 2 请求/秒,批量任务建议保持默认,避免触发风控 - 重试与并发:
retry_times: 3配合同目录 control/ 下的指数退避重试(1s、2s、5s) - 命名规则:
filename_template支持{date} {title} {author} {id}等变量,模板中必须包含{id}防止重名覆盖 - 浏览器兜底:翻页受限时可开启
browser_fallback.enabled: true,弹窗后人工过一次验证码
常见问题
1. 只能抓到 20 条作品就停了?现象是批量下载卡在前 20 条。原因是触发了翻页风控。解法:把browser_fallback.enabled设为true、headless设为false,弹窗出现后手动完成验证,不要立刻关窗口。
2. 提示登录失效或 Cookie 无效?原因是 Cookie 有有效期,过期后接口鉴权失败。解法:重新执行python -m tools.cookie_fetcher --config config.yml刷新,检查是否在公司网络等受限环境下运行。
3. 重新运行却没下载新文件?这是去重机制在起作用:程序通过数据库记录 + 本地文件名中的作品 ID 双重判断。若要强制重下某条作品,需同时删除本地文件(目录名含作品 ID)并执行sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<作品ID>';"。
4. 终端日志刷屏影响看进度?进度条由 Rich 实时重绘,普通日志会干扰刷新。默认已开启quiet_logs;需要调试时再临时加-v查看 info 级别日志。
5. 直播录制的 HLS 文件打不开?工具对 HLS 源只保存 playlist 文件,属于设计上的取舍,需要本地用 ffmpeg 后处理成完整视频;FLV 源则可直接播放。
写在最后
douyin-downloader 把无水印解析、批量抓取、去重和重试这些重复劳动收进了一份 YAML 配置里,命令行和 REST API 两种运行方式都开箱即用。建议从 README.zh-CN.md 的完整功能表和典型场景开始,动手下载第一条无水印视频,再按需打开增量、时间过滤等进阶选项。项目采用 MIT 协议开源,代码结构清晰,也欢迎直接阅读 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),仅供参考