如何把抖音视频、合集与音乐整存到本地: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 是一个开源的抖音批量下载工具:单条视频、图文、合集、音乐,以及整个作者主页,都能去水印存到本地,自带 SQLite 去重、失败重试和实时进度显示。如果你需要把某个博主的全部作品搬进本地资料库,或者在注销账号前给自己留一份备份,重复的点击、翻页和整理工作都可以交给它。
一个场景:80 条教学视频,一条链接搬进本地
朋友推荐了一个做家常菜教学的账号,"基础篇"合集里有 80 条视频,想全部存下来慢慢看。走传统路子就得一条一条点开、保存、改名、归到对应文件夹,80 条视频意味着 80 倍的重复劳动;更要命的是平台内容说下架就下架,链接失效后这批素材就永久找不回了。
把主页链接交给这个工具,事情就简单了:它认出这是用户主页,自动翻页拉完作品列表,并发把视频拉下来,再按作者名、发布时间、标题归进文件夹。你去忙别的,回来时目录里已经躺着一整套带封面和元数据的完整存档。
同一套逻辑可以迁移到别的内容上:合集链接会下载整个合集,音乐链接优先抓取原声文件(缺失时回退到使用该音乐的第一条作品),短分享链接会被自动解析,登录账号的收藏夹也能整体存下来。
先摸清它能干什么
内容类型:从单条视频到整个账号
覆盖的入口包括:单条视频、单条图文、单个合集、单条音乐、用户主页(发布作品、点赞、合集、音乐可选),以及当前登录账号的收藏夹。下载源会优先挑无水印版本,并在候选里自动选码率最高的一档,画质不用操心。
四道防止白干活的机制
- 去重:每条已下载内容同时记在 SQLite 数据库和本地文件里,重跑时先核对记录册,已有的直接跳过,不费流量。
- 完整性校验:按 Content-Length 比对,文件没传完会被自动清掉重下,不会留下一堆传一半的坏文件,这就是它的"断点"能力。
- 重试:按 1 秒、2 秒、5 秒的指数退避重试,短暂的网络抖动扛得住。
- 限速:默认每秒 2 个请求,不猛打服务端,账号也不容易被风控盯上。
文件落盘长什么样
每个视频有自己的独立文件夹,里面是视频、封面图、音乐文件和元数据 JSON,文件夹名按作者、时间、标题组织,几千个文件也能保持目录不乱。
最小流程:从拉取仓库到第一次下载
三条命令备齐环境
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt然后把示例配置复制成config.yml,必改的就两项:link填要下载的链接,path指定保存目录。
Cookie 怎么获取(一张"临时工作证")
抖音的接口会核对身份,Cookie 相当于发给工具的一张临时工作证,前阵子有效,过期就得换新。两种方式:
- 自动(推荐):运行
python cookie_extractor.py,会弹出浏览器,你登录完它自己把 Cookie 写回配置; - 手动:在浏览器开发者工具里复制请求头里的 Cookie 整串,贴进
config.yml的cookies字段保存即可。
启动它
python run.py -c config.yml临时下载单条视频时,更简单的python DouYinCommand.py稳定性最高;批量跑主页则用上面这条。终端里有实时进度条,结束后汇总成功、失败数量和保存路径。
进阶玩法:批量下载还能再快一点
增量加时间窗:只捡新发的
把配置里increase的post打开并保留数据库记录,下次运行就只抓新视频;再配上start_time/end_time两个日期,可以把范围切成"某个月份的内容"。典型用法是配合系统定时任务每周跑一次,收藏夹永远是最新的。
直播录制与评论抓取
贴一个live.douyin.com的直播间链接就会开始录制(FLV/HLS),可以设最长录制时长,避免挂着跑一夜;主播下播后已录到的部分会保留。另外支持按作品抓评论(含二级回复)存成 JSON,命令行还提供热搜榜和关键词搜索导出,方便做选题调研。
并发、代理与文件命名调优
默认 5 线程并发,网络不稳就调小thread并配上proxy。文件命名模板可以自定义,调度逻辑在douyin-downloader/core/downloader_factory.py,去重记录在douyin-downloader/storage/database.py,想深挖可以顺着这两个文件读。不想盯命令行的话,基于同一后端的桌面客户端 Douzy(内测中)把流程做成了图形界面:粘贴链接就开始下载,还能同步关注列表、逐任务跟踪进度。
三个常见坑与解法
翻页受限:只拉到前 20 条
这是抖音侧的反爬限制。解法是把browser_fallback打开:API 受限后工具切到真实浏览器滚动加载,验证码由你人工过掉即可;仍不顺利就再降一点并发重试。
Cookie 过期:突然开始报错
多半是"工作证"到期,重跑python cookie_extractor.py换新就行。config.yml里带着你的登录凭证,别提交到代码仓库,也别发给别人。
下载慢或服务端繁忙
先降thread,再试挂代理;如果单条文件本身很大,属于正常带宽耗时,不必折腾参数。
📌 三条提醒:内容仅供个人学习、收藏与备份,不要二次传播或商用;配置文件含登录信息,注意保管;工具里的dy_downloader.db是去重依据,清理下载目录时先备份它。
下一步:今天就先把仓库拉下来,用自己的一条视频链接跑通"取 Cookie → 改配置 → 启动"全流程,确认本地目录正常后,再放心把整个主页或合集交给它。
【免费下载链接】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),仅供参考