五步搭起抖音批量下载管线:视频、合集与直播回放的本地存档
2026/8/20 1:46:17 网站建设 项目流程

五步搭起抖音批量下载管线:视频、合集与直播回放的本地存档

【免费下载链接】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 这个开源的抖音批量下载工具后,同一件事变成了一条命令加一杯咖啡的时间。

douyin-downloader 是一个面向个人存档场景的抖音批量下载工具:把链接交给它,视频、图集、合集、音乐原声会被自动去水印后落到本地,再按作者整理成清晰的目录结构。它适合两类人——不想为单个视频反复打开网页的人,以及希望长期跟更某几位创作者内容的人。项目以 Python 命令行为主体,另有正在内测的桌面版 Douzy,界面所见即所得。

5 分钟内跑通第一次下载

最短路径只有四步,全部在终端完成:

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 的方式:

python -m tools.cookie_fetcher --config config.yml

命令会拉起浏览器,你登录抖音后回到终端按一次回车,Cookie 便自动写进config.yml,全程不用手动复制粘贴任何东西。之后运行:

python run.py -c config.yml

程序读取配置里的链接开始下载。想先试单个视频,也可以直接追加参数:

python run.py -c config.yml -u "https://www.douyin.com/video/1234567890123456789"

跑通这一步,整个工具就算上手了。

内容获取:从单个链接到主页全量

工具能识别的链接形态比想象中多:

链接类型示例路径下载内容
单条视频/video/{id}去水印视频 + 封面 + 音乐
图文笔记/note/{id}/gallery/{id}图片集 + 元数据
合集/collection/{id}/mix/{id}合集内全部作品
音乐/music/{id}原声文件
作者主页/user/{sec_uid}按模式批量下载
直播间live.douyin.com/{room_id}直播录制

主页批量下载是大多数人入手的第一站,配置里只需声明链接和模式:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post, like, mix, music] number: post: 50

mode决定抓什么:post是发布的作品,like是点赞列表,mix是合集,music是音乐作品;number限制数量,0表示全量。同一作品在不同模式下只会下载一次,跨模式自动去重。

内容获取:直播回放的保存方式

直播是抖音里最难"留底"的内容,下播即走。工具的直播录制功能把这件事接住了:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 录 1 小时,0 表示录到下播 idle_timeout_seconds: 30 # 空闲 30 秒判定为下播

支持 FLV 与 HLS 两种源。需要留意一个细节:FLV 录完可直接播放,HLS 源默认只保存 playlist 文件,需要再用 ffmpeg 转一次。主播下播、网络空闲或 Ctrl+C 中断时,已经录下的字节都会被保留,不会白录。

内容管理:去重、增量与命名规则

下载多了之后,真正麻烦的是重复和找不到文件。工具的解决方案分四层:

手段作用
SQLite 记录记住每个已下载作品的 ID
本地文件扫描即使改名换目录也能识别
跨模式去重同一作品在多个模式下只下一份
完整性校验对比 Content-Length,损坏文件自动重下

在此基础上,增量下载让"跟更"变成日常操作:

increase: post: true database: true

打开后,重复运行只会拉取新发布的作品。命名规则同样可以定制,默认{date}_{title}_{id}模板已经够用,也可以在配置里把作者目录改成昵称_sec_uid,避免重名作者相互覆盖。

内容消费:任务进度、通知与桌面版

命令行里每次下载都有实时进度条,任务结束会汇总成功与失败数量。配合通知推送,长任务可以完全托管:notifications支持 Bark、Telegram 与 Webhook,任选一个渠道,下载完成或失败都会收到消息,单渠道故障不会阻塞主流程。

如果你更习惯图形界面,正在内测的桌面版 Douzy 与命令行共用同一套后端——粘贴链接检测内容、勾选下载类型、在任务中心回看每次下载的状态,右侧还能看到逐条事件日志,排查问题比看终端更直观。

进阶玩法:长期跟更与自动化

定时增量跟更

increase打开后,配合系统的 cron(或 Windows 任务计划)每天定时跑一次python run.py -c config.yml,再加一条 Webhook 通知,你关注创作者的每次更新都会自动落到本地,全程不需要人工参与。

REST API 服务模式

工具内置了轻量服务模式,适合嵌入自己的流程:

pip install fastapi uvicorn python run.py --serve --serve-port 8000

启动后POST /api/v1/download提交{"url": "..."}即可创建任务,GET /api/v1/jobs/{job_id}查询状态。做脚本、做小程序,甚至接进现有系统都够用。

视频转写

如果你需要把下载的视频转成文字稿,transcript是可选项:声明 OpenAI 的转写模型与密钥后,每个视频会额外生成.transcript.txt.transcript.json,方便检索和归档。

几个容易卡住的点

很多人会遇到的一个问题是"为什么只能抓 20 条"。这通常不是下载器的故障,而是抖音的翻页风控。处理方式是打开browser_fallback:把enabled设为trueheadless设为false,程序会在受限时自动拉起浏览器,你手动过一下验证码,别急着关窗口,翻页就会继续。

另外两处容易忽略:一是收藏夹模式collect/collectmix必须单独使用,不能和post混在一个配置里;二是想重新下载某条内容,需要同时清掉本地文件里的对应目录和数据库里的记录,只删一边都不会触发重下。至于 Cookie 失效,最快的解决办法就是重跑一次python -m tools.cookie_fetcher --config config.yml

把下载变成一件可以托付的事

douyin-downloader 的价值不在于"能下多少种内容",而在于把下载这件事变得可重复、可管理、可追溯:去重让你不会重复占空间,增量让你不用盯着更新,通知让你把任务交给后台。对个人内容存档来说,这已经是一套完整的闭环。

想开始的话,装依赖、取 Cookie、跑起来,上面三步就够了;douyin-downloader/README.zh-CN.mdUSAGE.md里还有每个配置项的详细说明,遇到问题也能按图索骥。最后提醒一句:请把下载的内容用于个人学习与数据管理,尊重创作者版权,遵守平台规则。工具帮你省下时间,也请把这份便利用在对的地方。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询