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 是一款开源免费的抖音批量下载工具。粘贴视频、图文或作者主页链接,它自动抓取无水印原片并落盘。适合个人备份某位作者的作品或收集素材,没有编程基础也能配好上手。
📌 一眼看懂:6 个核心能力
- 单链接直接下载:粘贴
/video/、/note/、/collection/或v.douyin.com短链即可,不用手动找源地址。 - 作者主页批量下载:
mode支持post/like/mix/music,一次抓完作者发布作品、点赞、合集和原声音乐。 - SQLite 去重 + 增量下载:已下载作品记入数据库,重复运行自动跳过,只补新内容,省流量省时间。
- 无水印 + 自动挑码率:优先选无水印源,基于
bit_rate自动选最高转码档,也可切换原画。 - 直播实时录制:粘贴
live.douyin.com/{room_id}按 FLV/HLS 录制,主播下播后已录数据保留,见 core/live_downloader.py。 - 评论与元数据随附:按需采集每条评论 JSON,另存封面、音乐、
_data.json,方便后期整理分析。
这套后端还衍生出内测中的桌面客户端 Douzy,粘贴链接、队列管理、任务跟踪都在图形界面完成。任务中心可以查看每个任务的成败状态、重试失败项,并直接打开输出目录:
🚀 上手:跑通第一次作者批量下载
先把代码拉下来,安装 Python 依赖。整个过程大约一两分钟,结束时终端没有报错就说明环境没问题。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果你的 Python 是 3.9+(见 pyproject.toml),依赖装完就能跑。后续想用浏览器兜底翻页时,再补装一次 Playwright 的 Chromium 内核即可:
pip install playwright python -m playwright install chromium接下来获取 Cookie。它是访问抖音数据的凭证,仓库自带自动获取工具,会弹出浏览器让你扫码:
python -m tools.cookie_fetcher --config config.yml在弹出的页面登录抖音,回到终端按 Enter,Cookie 就自动写进配置了,全程不用复制粘贴。实现代码在 tools/cookie_fetcher.py。
然后把示例配置复制成正式配置,只改两处:要下载的链接和下载数量。
cp config.example.yml config.ymlconfig.example.yml 里所有项都带中文注释。最小可用的修改长这样——number.post: 10表示先只下 10 条试水,0表示不限:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 10 thread: 5 database: true运行它。终端会出现 Rich 进度条,跑完后打开Downloaded/作者名/post/目录,每个作品一个子文件夹,里面是.mp4、封面、音乐和_data.json,文件名带作品发布日期,天然按时间排好序:
python run.py -c config.yml不想改配置文件时,也可以命令行直接追加链接:python run.py -u "https://www.douyin.com/video/xxxx" -p ./Downloaded。
🧩 进阶玩法:4 个值得开的功能
增量下载怎么配:在配置里加两行——
increase: post: true database: true不开时,重跑同一个作者会重新下载全部作品;开了之后,程序查数据库和本地文件双重判断,已存在的直接跳过,只下新增的。适合每周定期追更关注的博主。
时间过滤只下某段作品:
start_time: "2024-06-01" end_time: "2024-06-30"按作品发布时间(create_time)筛选,只会拿到 6 月发布的作品。想备份某博主某段时间的内容时非常省事。
浏览器兜底过翻页风控:browser_fallback.enabled: true且headless: false。当接口翻页被限流卡住时,程序自动拉起浏览器滚动采集作品 ID,你手动过一下验证码,下载继续。不开这项时,大批量下载容易停在 20 条。
原画画质:把video_quality从highest改为original。默认只从转码码率阶梯里挑最高档;改为original后每条作品会多一次探测请求,找到上传原片就下原片,体积可比转码档大数倍。要画质且不在乎流量时再开。
不想碰命令行的话,也可以等 Douzy 桌面版转正:同一套后端,能同步关注列表、按博主管理、直接触发下载。
⚠️ 避坑:4 个常见故障对照解
只抓到 20 条作品就停了。这是抖音翻页风控的典型表现。确认browser_fallback.enabled: true、headless: false,弹窗出现后手动完成验证,验证完再关窗口,不要秒关。
Cookie 失效、下载报错要登录。Cookie 有效期一般一两周左右,重新跑一次python -m tools.cookie_fetcher --config config.yml即可,不需要其他操作。
想重下某个作品,却总是被跳过。去重靠数据库记录加本地文件名双重检查(见 storage/database.py):只删数据库记录不删文件,不会重下;两个都要清——删掉Downloaded/作者名/post/下带该aweme_id的目录,再执行sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"。
进度条日志刷屏。默认progress.quiet_logs: true已静默日志,一般不用动;调试时才临时加--show-warnings或-v参数。
最后说清楚边界:这个工具适合个人学习、研究和备份自己收藏的内容。下载下来的作品版权归原作者,不要二次商用或侵权传播;平台接口策略变化导致功能波动也属于正常技术风险,自行评估。详见 README.zh-CN.md 的免责声明。
📎 写在最后
douyin-downloader 最适合两类人:想长期备份几位博主作品的收藏党,以及需要批量拿无水印素材做研究的创作者。功能都写在配置里,开合一目了然,没有黑盒。下一步很简单:挑一个你常看的主页链接,把number.post设成 10,跑一次python run.py -c config.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),仅供参考