抖音视频批量下载实测手记:用 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 这个抖音视频批量下载工具塞给我,丢下一句"链接扔进去,别的别管"。一个周末试下来,过去三周攒下的整理量,一个晚上就清空了。
这篇文章就是我三晚实测的完整记录。不堆术语,不讲源码,只讲它到底能干什么、怎么上手、值不值得你用。你完全可以照着下面的步骤一步步来。
缘起:先说说那个让我崩溃的周五晚上
那天的记录我至今留着:8 个博主主页、合计 600 多个视频。按老办法操作,我得打开主页、翻到列表、右键逐条另存,再手动改文件名。中途因为两个文件重名,还覆盖了已经下好的素材。晚上十一点半收工时,进度连三分之一都没到,而第二天早上九点就要交初稿。
说这些不是诉苦,是想先跟你对齐一个判断:当"下载"占用的时间超过"创作"本身,工具就不是偷懒,而是刚需。
douyin-downloader 不是那种要你装一堆浏览器插件的脚本,它是一个 Python 命令行工具,核心逻辑一句话就能讲完:把抖音链接交给它,解析、去水印、批量抓取、命名归档全部自动完成,你只管等结果。至于它到底能接住哪些链接,我按内容类型整理了一张清单,下面 20 秒就能看完。
它能下载什么:20 秒看懂的能力清单
| 内容类型 | 典型链接 | 下载后你能拿到 |
|---|---|---|
| 单个视频 | douyin.com/video/xxx 或手机分享短链 | 无水印 MP4、封面、原声音乐、JSON 元数据 |
| 图文笔记 | douyin.com/note/xxx | 全部原图、背景音乐、作者头像 |
| 合集 | douyin.com/collection/xxx | 合集内全部作品,附合集元数据 |
| 音乐原声 | douyin.com/music/xxx | 原声文件(缺失时回退到该音乐下的作品) |
| 作者主页 | douyin.com/user/xxx | 按 post / like / mix / music 四种模式批量抓取 |
| 直播 | live.douyin.com/xxx | 实时录制为 FLV,主播下播后保留已录内容 |
两个细节值得单独说:手机分享出来的v.douyin.com短链会被自动展开解析,不用你手动去还原;图文的每一张原图都会完整保存,而不是只有首图。这份清单对应到命令行里,就是下面这张进度条界面——绿条一条条走完,文件一个个落盘。
douyin-downloader 上手:第一晚,从空环境到第一条无水印视频
先给结论:从零到跑通第一条视频,熟练的话 20 分钟内能完成。分三步走。
第一步,拿到代码并装依赖。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第二步,准备 Cookie。抖音接口需要登录态,这个工具内置了一个自动获取脚本,会帮你打开浏览器、扫码登录、再把 Cookie 写进配置——全程不用手动复制粘贴那一长串字符。
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml我实测的体感是:浏览器弹出 → 扫码 → 回终端按一下回车,两分钟收工。Cookie 失效时重跑这条命令即可,不用研究怎么"续期"。
第三步,写一份最小配置。复制项目里的config.example.yml作为模板,改成这样:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ thread: 5 retry_times: 3 database: true cookies: ttwid: 你的设备标识 odin_tt: 你的用户标识 passport_csrf_token: 你的CSRF令牌然后运行:
python run.py -c config.yml第一晚我只下了两条视频验证流程。跑完去Downloaded/目录看了一眼,每个作品是一个独立文件夹:MP4 无水印、封面 JPG、背景音乐 MP3、还有一份_data.json元数据。我当时的第一反应是——过去手动折腾半小时才能凑齐的东西,它顺手全给了。
第一晚小结:单链接下载只是开胃菜,真正让人上瘾的是下一晚的批量模式。
douyin-downloader 批量下载实战:25 分钟干完过去 6 小时的活
第二晚,我直接把三位博主的主页链接填了进去,然后去洗碗了。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like number: post: 0 # 0 表示全量 like: 50 thread: 8 increase: post: true这里有两个设定值得解释。mode决定抓什么——post是博主发布的作品,like是他点赞过的,mix是他建的所有合集,music是原声音乐;number里的0表示不设上限、全量抓取。多个模式同时开启时,同一个作品 ID 在不同模式下会自动去重,不会重复占你的硬盘。
第二晚结束,我拿自己的老流程做了个对比。数据基于我个人的网络环境,仅供你参考量级:
| 对比项 | 手动方式 | douyin-downloader |
|---|---|---|
| 单个作者主页(约 200 条作品) | 约 1.5 小时,全程盯屏 | 约 8 分钟,人可离开 |
| 3 位博主合计 600+ 条 | 大半个晚上没弄完 | 25 分钟左右 |
| 文件命名 | 手工补标题,容易撞车 | 日期_作者_标题_ID,自动生成 |
| 重复下载 | 经常发生,浪费流量 | 数据库 + 文件双重检查,直接跳过 |
运行结束的统计页长这样——"已获取多少作品、成功几条、跳过几条"一目了然:
同样是 600 条素材,手动要搭进去大半个晚上,它 25 分钟跑完还能中途离场。这就是我标题里说的"一个晚上清空三周的量"——因为增量模式我已经打开了,往后每周只需跑一次,只下新增。
第三晚进阶:合集、音乐、直播,一个链接一种玩法
批量下载验证了效率,第三晚我开始试它清单里的其他类型。组合起来其实就是一句话:链接是什么,下载出来就是什么。
合集与音乐,配置几乎和视频一模一样:
link: - https://www.douyin.com/music/7341234567890123456 number: music: 20直播则是单独一块配置,录到设定时长、或录到主播下播,网络空闲和 Ctrl+C 中断时已录的字节都会保留下来,不会白录:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30实测录制时终端会先解析出直播间信息和可选的清晰度,再生成 FLV 流地址开始拉流:
下载完成后,文件会按"作者 → 模式 → 单作品文件夹"的结构归档。每个作品文件夹里视频、封面、音频、JSON 元数据各就各位,哪怕几个月后再翻出来,也一眼能看出这条素材的作者、发布时间和原始数据:
第三晚的收获:它不只是"批量下载器",更像一个带归档能力的抖音内容管理工具。
可靠性设计:为什么这个抖音视频批量下载工具很少半途而废
用了三晚,我最大的感受不是"快",而是"省心"——半夜挂着跑,早上起来不用收拾烂摊子。这背后是几处不太起眼、但很关键的设计。
第一处:双重去重。SQLite 数据库记录下载历史,同时程序还会扫描本地文件名里的作品 ID。哪怕你把任务关了重跑,已经下过的内容也会被跳过;中途断网再续,会从断点继续而不是从头再来。
第二处:重试 + 完整性校验。单个作品失败后按 1 秒、2 秒、5 秒递增重试;文件下载完会比对 Content-Length,发现不完整会自动清理掉并重新下载。你不会在硬盘里看到一堆半截文件。
第三处:浏览器兜底。批量翻页时如果触发平台风控(常见表现是只能抓到 20 条),工具会自动拉起一个浏览器窗口去加载完整列表。弹窗出现时手动点一下验证码,任务就能接着跑,不用整段推倒重来。它默认还会限制请求速率,避免短时间打太多请求给自己找麻烦。
再进一步:增量下载、评论采集与自动化通知
到第四天,我已经开始把它当"常驻工具"用了。三个配置把它从"手动小助手"升级成"半自动流水线"。
增量更新——increase.post: true开启后,每次运行只补新作品。我的用法是每周五早上跑一次,相当于给关注的博主做了个自动存档。
评论采集——开启comments配置后,每个作品旁边会多出一份_comments.json,研究互动数据或做选题参考都很实用:
comments: enabled: true include_replies: false max_comments: 500 page_size: 20完成通知——下载结束可以推 Bark / Telegram / Webhook,挂机跑任务时不用一直盯着终端。
notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY如果你不想碰命令行,项目同一套后端还做了一个桌面客户端 Douzy(目前内测中),粘贴链接、跟踪任务状态都是可视化操作,任务中心和下载历史一目了然:
另外两个你可能用得上的入口:python run.py --hot-board 30可以导出热搜榜快照,--search "关键词"可以按关键词搜索作品并落成 JSONL 文件,适合做话题监控。
给你的上手三步与合规提醒
最后,把这三晚的经验压缩成一份可以直接照做的清单:
- 跑通最小闭环:克隆项目(
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader),装依赖,用cookie_fetcher拿到登录态,先下一个单视频验证流程。 - 做一次批量测试:选一个你常看的博主主页,开启
post+like模式,感受下并发下载和自动归档。 - 再加常驻功能:打开增量更新、加一条完成通知,让它从"工具"变成"流水线"。
最后说一句重要的话: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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考