5 分钟跑通抖音批量下载:douyin-downloader 从 1 个视频到整个主页
【免费下载链接】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
凌晨一点,你刷到一个宝藏博主的系列视频,第 17 期正好讲到最想听的部分。你想把它存下来慢慢看,却发现早几期已经被作者删掉了。这种"差一点就错过"的懊恼,每个追更过抖音的人都不陌生。而 douyin-downloader 正是为这类问题而生的开源抖音批量下载工具——去水印保存视频、图文、合集与音乐,还能把博主整个主页的内容成批搬回本地。
创作者的删帖、平台的限流、主页的清空,随时可能让喜欢的作品变成一段记忆。与其被动等待,不如主动给自己的内容爱好建一座本地档案库。这篇文章不讲空泛的功能列表,只带你走一遍从"零"到"把整个主页搬回家"的完整路径。
一句话认识 douyin-downloader:它是一位自带记账本的搬运工
用一句话概括:douyin-downloader 是一个命令行驱动的抖音下载工具,把视频、图文、合集、音乐、直播统一收纳到本地,默认优先取无水印且码率最高的源。
如果非要打个比方,它像一位自带记账本的搬运工——不光把东西搬回你家,还会登记每件物品的编号。下次再去同一个博主家里搬东西,翻开账本就知道哪些已经搬过,直接跳过,绝不重复劳动。这个"账本"就是内置的 SQLite 数据库,也正是它区别于普通录屏工具的核心。
工具本身是 Python 写的,源码组织得很清爽,下载逻辑在douyin-downloader/core/,各下载模式(主页、点赞、合集、音乐)分门别类放在core/user_modes/下,想研究实现或二次开发都不难。
首次运行:四条命令,先让第一个视频落盘
上手的第一步永远比想象中简单。打开终端,依次执行:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader/douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml然后获取 Cookie 认证。抖音需要有效的登录态才能访问内容,工具提供了自动方式:运行后会自动拉起浏览器,扫码登录后回到终端按回车,Cookie 会被自动写入配置文件:
python -m tools.cookie_fetcher --config config.ymlCookie 只保存在你本地电脑的配置文件里,不会上传到任何服务器。
最后,把config.yml里的link换成你想下载的第一个视频,保持其余默认值:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ music: true cover: true json: true执行python run.py -c config.yml,一个无水印视频、它的背景音乐、封面图连同完整元数据就会落到本地。跑通这一步,你就已经解锁了 90% 的功能——剩下的玩法,都只是往配置里加几行。
一张表看懂:它到底能替你做什么
| 你的任务 | 工具对应能力 | 一句话说明 |
|---|---|---|
| 保存单个视频/图文/合集/音乐 | 直接投喂链接 | /video、/note、/collection、/music均支持,短链自动解析 |
| 把某博主全部作品搬回家 | 主页批量下载 | mode: post/like/mix/music,number: 0表示全量 |
| 只想要音乐和封面做素材 | 附加资源独立保存 | music、cover、avatar、json四项开关 |
| 备份正在进行的直播 | 直播录制 | FLV/HLS 双格式,主播下播自动停止并保留已录数据 |
| 避免重复下载 | 数据库去重 + 增量 | 同一作品在不同模式下也只下一份 |
| 下载中断不白费 | 完整性校验 + 重试 | 文件不完整自动清理并重下,指数退避重试 |
| 给选题/内容找素材 | 评论采集、热搜榜、关键词搜索 | 评论结构化输出 JSON,热搜榜落 JSONL |
这张表想说明一件事:你不需要同时记住所有参数。用哪个功能,就打开对应的配置段落,其余保持默认。
按场景玩:不同任务,各有一条最短路径
场景一:把某个博主的主页整个搬回来,之后只追新增
你关注了一个优质创作者,想把全部作品存档,这是最常见的需求。配置里这样写:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 # 0 表示全量,想限制数量就写具体数字 increase: post: true # 增量模式:只下载新增作品 database: true # 增量依赖数据库记录第一次跑全量,之后每周跑一次python run.py -c config.yml,它会在几秒内扫一遍主页,只把新增的作品搬回来。相当于给你的追更对象做了个"自动同步订阅"。
场景二:合集与原声音乐,做成可检索的素材档案
如果你是做剪辑或内容创作的,往往不需要完整视频,只要原声和封面。直接下载单个音乐或合集即可:
link: - https://www.douyin.com/music/7341234567890123456 - https://www.douyin.com/collection/7341234567890123456 folderstyle: true # 每个作品一个子目录 filename_template: "{date}_{title}_{id}"工具会优先抓取原声文件,抓不到时才回退到该音乐下的首条作品;合集模式则按合集维度整批归档。配合命名模板,日积月累下来就是一套按日期、标题自动排序的素材库,找东西只需搜文件夹名。
下载完成后,目录会自动整理成这样的结构:
Downloaded/ └── 作者名/ └── post/ └── 2024-06-15_作品标题_aweme_id/ ├── video.mp4 # 无水印视频 ├── cover.jpg # 高清封面 ├── music.mp3 # 背景音乐 └── data.json # 完整元数据场景三:错过直播?录下来慢慢看
遇到喜欢的博主开播但你没赶上,可以把直播源交给工具录制:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 表示录到主播下播录制的 FLV 文件会保存在Downloaded/{作者}/live/下,并附带直播间元数据快照。主播下播、网络空闲或你手动中断时,已录制的字节都会被保留,不会白录。注意 HLS 源目前只保存播放列表文件,需要再用 ffmpeg 转一下。
场景四:评论、热搜与关键词,给选题找素材
做内容选题的人还可以把它当"情报收集器":
python run.py --hot-board 30 -p ./Downloaded # 热搜榜前 30 条 python run.py --search "猫咪" --search-max 100 -p ./Downloaded # 关键词搜索结果以 JSONL 形式落到hot_board/和search/目录。想按作品抓评论做舆情分析,就在配置里打开:
comments: enabled: true include_replies: true # 是否抓二级回复 max_comments: 500每个作品会额外生成一份*_comments.json,字段结构清晰,方便后续处理。
如果……会怎样?避坑清单与边界说明
如果只抓到 20 条作品就停了,会怎样?这是翻页风控的典型表现。请确认配置里browser_fallback.enabled: true、headless: false。触发兜底时浏览器窗口会弹出,你需要手动完成验证,不要立即关掉窗口——窗口关闭得越早,抓得越少。
如果下载时冒出 403 或"未登录",会怎样?Cookie 过期了。重新跑一遍python -m tools.cookie_fetcher --config config.yml即可。Cookie 通常有效期 7~15 天,建议把它写进日历,每周刷新一次。
如果终端被日志刷屏,会怎样?默认progress.quiet_logs: true已做静默处理;真要排查问题,再临时加--show-warnings或-v查看详细日志。
如果想下载自己的收藏夹,会怎样?收藏夹模式(collect/collectmix)只能单独使用,不能和post/like混在同一份配置里,而且只支持当前登录的账号。
关于边界,也如实说明:浏览器兜底目前只对post做了完整验证,like/mix/music主要依赖 API 正常分页;直播的 webcast 接口属于实验性能力,覆盖不全属于正常现象。工具适合个人备份、学习研究与素材整理,请尊重创作者权益,仅用于合法合规的用途。
动手之前,把这几件事放进习惯清单
- 从一条视频开始:先跑通单个链接,确认环境与 Cookie 都没问题,再碰批量。
- 批量前先限数:第一次拉博主主页时,把
number.post设为 20,确认目录结构符合预期再放开。 - 给归档留足空间:视频文件不小,批量下载前确认磁盘余量,建议预留 50GB 以上。
- 每周同步一次增量:
increase.post: true打开后,定期跑一次就是最好的追更方式。 - 善用命名模板:
{date}_{title}_{id}这类模板让归档可检索,别用默认乱序文件名。
工具能做的,一句话就能概括:你只负责给链接,剩下的去重、重试、整理、归档,它替你盯着。与其在视频被删之后懊恼,不如花 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考