抖音视频批量下载:一个开源工具如何包办去水印、主页批量与直播录制

📅 2026/8/17 18:36:18
抖音视频批量下载:一个开源工具如何包办去水印、主页批量与直播录制
抖音视频批量下载一个开源工具如何包办去水印、主页批量与直播录制【免费下载链接】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 想改变这件事它把解析链接、去水印、选最高清、批量抓取、自动去重、整理归档打包成一条完整流水线你只需要给它一个链接。这篇文章我会按它凭什么值得用 → 怎么跑通第一次 → 还能玩出什么花 → 有哪些坑的顺序把它完整拆给你看。先回答一个问题它凭什么值得装进你的工具箱先亮个底牌这不是又一个粘贴链接换水印的网页小脚本。日常下载场景里你能想到的需求它基本都覆盖了。你想做的事它怎么帮你保存单个视频/图文支持短链自动解析去水印、自动挑最高清备份某位博主全部作品主页链接 post模式全量或限量存下喜欢的背景音乐music模式优先拿原声文件下载合集与收藏夹collection/collect模式单独覆盖录下一场直播直播链接直接录制 FLV/HLS主播下播也不丢数据抓评论、热搜榜、关键词搜索导出 JSONL 数据方便二次分析单看表格可能没感觉真正让它拉开差距的是两点去重机制和稳定性设计。去重机制。它用SQLite 数据库记录 本地文件扫描双重检查判断哪些内容下载过。这意味着同一场批量任务你跑十次它只会补齐新增的部分不会把磁盘塞满重复文件。而增量下载模式更进一步只抓上次之后的新作品。稳定性设计。这也是它和普通脚本最不一样的地方。下载过程有实时进度条、失败自动重试按 1 秒、2 秒、5 秒指数退避、下载完成后还会校验文件大小是否完整不完整就自动清理重下。你不需要盯着终端守到最后一秒。小白提示所谓去水印不是靠后期裁剪而是在解析阶段就选择无水印的视频源。源本身是干净的拿到的文件自然就是干净的。双引擎设计为什么它比硬刚接口的工具更耐折腾短视频平台的反爬手段一直在变很多下载工具今天能用、明天就废问题就出在它们只依赖一种取数方式。douyin-downloader 用的是双引擎API 引擎走官方接口拿数据速度快、开销小日常绝大多数请求都靠它完成浏览器引擎当翻页受限、需要过验证码时自动拉起 Playwright 浏览器你手动完成验证即可继续。这个设计的价值在于容错API 被限制时不是直接失败而是降级到浏览器继续。对普通用户来说直观感受就是怎么着都能下载下来。项目文档里也明确写了浏览器兜底当前主要针对post模式做了完整验证like/mix/music仍主要依赖 API 分页——这是它的诚实之处后面我会在边界部分细说。五分钟跑通第一次下载第一步装好运行环境前提只有一条有 Python 3.8 以上的环境Windows、macOS、Linux 都行。git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果你想用自动获取 Cookie和浏览器兜底再补一条pip install playwright python -m playwright install chromium第二步拿到登录凭证只需做一次抖音要求登录态才能访问内容所以首次使用需要配置 Cookie。这是全流程里唯一需要你动手的步骤python -m tools.cookie_fetcher --config config.yml命令会打开浏览器你登录抖音后回到终端按一下回车程序会自动把 Cookie 写进配置。之后很长一段时间内都不用再管它万一失效了重新执行这一条命令即可。第三步写一份最小配置开跑复制示例配置再改两行就够了cp config.example.yml config.ymllink: - https://v.douyin.com/你的短链/ # 支持多个链接一行一个 path: ./Downloaded/ music: true # 顺手把原声也存下来 cover: true # 保存封面 json: true # 保存元数据JSONpython run.py -c config.yml运行后你会看到类似下图的界面顶部显示作品总数中间是实时的批量下载进度每一行对应一个任务卡住的文件会被标记出来而不是悄悄跳过。行话翻译-c config.yml意思是用这份配置跑链接、目录、并发数全由配置文件说了算改配置比改命令行参数直观得多。进阶玩法从下载一个视频到管理一个内容库跑通单条下载只是热身。这个工具真正的主场是把下载升级成内容管理。备份整个博主主页把链接从视频页换成用户主页再声明要下载的模式link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # post作品 like喜欢 mix合集 music音乐 number: post: 0 # 0 表示全量抓取写 50 就只抓最新 50 条 thread: 5 # 5 线程并发跑完之后Downloaded/下会按作者 → 模式 → 作品的目录结构归档。每个作品一个独立文件夹视频、封面、音乐、元数据各归其位Downloaded/作者名/post/2024-02-07_作品标题_aweme_id/ ├── ...mp4 ├── ..._cover.jpg ├── ..._music.mp3 └── ..._data.json文件夹名里的日期和标题一目了然配合数据库里的历史记录想找哪条内容都能快速定位。跨模式比如同时勾选post和like还会自动去重——同一个作品不会因为出现在两个模式里就被下载两遍。只追新内容增量下载对于持续更新的博主每次都全量抓既慢又没必要。把增量开关打开工具会对照数据库只补齐新增作品increase: post: true database: true # 增量依赖数据库记录务必开启配合系统的定时任务就实现了完整的定时自动下载——你的内容库会自己长大0 2 * * * cd /path/to/douyin-downloader python run.py -c config.yml download.log 21把一场直播留下来link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 一直录到主播下播录制结果保存为 FLV 格式附带直播间元数据快照。最贴心的一点主播中途下播、网络空闲或你手动中断时已经录下来的数据不会丢临时文件会自动转正为正式文件。评论、热搜榜、关键词搜索这三个是数据向的隐藏功能--hot-board拉取热搜榜、--search 关键词按关键词搜作品结果都以 JSONL 导出评论采集则会在每个作品旁生成*_comments.json还能选择是否包含二级回复。对做内容分析的人来说这等于白送一套轻量数据采集能力。把它变成一项服务REST API 模式如果你不想每次都在终端敲命令可以把它跑成一个本地服务python run.py --serve --serve-port 8000之后通过POST /api/v1/download提交链接、GET /api/v1/jobs/{job_id}查询任务状态。这意味着你可以把抖音视频批量下载的能力接进自己的脚本、网页甚至自动化工作流里——比如配合定时任务实现无人值守。进阶彩蛋桌面版 Douzy项目还附带一个基于同一套后端的内测桌面客户端。相比命令行它的门槛更低粘贴链接自动识别内容类型勾选作品 / 喜欢 / 合集即可开下还能同步你的关注列表、逐个博主下发下载任务并在任务中心里看每项任务的实时事件流。作品档案页面用 SQLite 记录所有下载历史支持按作者、标题、类型、时间筛选常看的博主一键下载最新作品——内容库越用越顺手。说点实话它的边界在哪里任何工具都有适用边界了解这些反而能帮你少踩坑翻页风控是真实存在的。批量抓取时可能只拿到前 20 条作品。这时候要开启browser_fallback在弹出的浏览器窗口里手动完成验证不要急着关窗口。like/mix/music模式主要依赖 API 分页浏览器兜底目前只为post做了完整验证遇到风控时这三个模式能做的有限。收藏夹模式collect/collectmix有硬约束仅支持当前登录账号的 Cookie且必须单独使用不能和post、like等模式混在一起配置。Cookie 有时效。失效后重新跑一次python -m tools.cookie_fetcher --config config.yml即可这是日常维护里最频繁的动作。直播的 HLS 源只保存 playlist 文件需要用 ffmpeg 做后处理FLV 源则可以直接播放。平台规则随时可能变化接口策略调整导致功能暂时失效属于正常技术风险这也是开源项目持续更新的意义所在。和其他下载方式放在一起看方式单个视频主页批量去水印稳定性可自动化网页转存站支持不支持部分差经常换域名不支持浏览器插件支持不支持看运气一般不支持douyin-downloader支持支持支持高双引擎兜底支持一句话总结差异网页工具解决偶尔下一个它解决的是长期、批量、要归档的场景。给你的使用建议并发别开太大。thread建议 3~5工具默认还带约 2 请求/秒的速率限制两者配合能显著降低触发风控的概率。稳定比快更重要。先限量后全量。第一次跑某位博主时先设number.post: 50验证效果确认目录结构满意后再放开到全量。定期更新项目。平台接口在变工具也在跟着改用git pull保持版本最新能省掉很多突然下不动的烦恼。遵守规则。请只用于个人学习、研究与数据备份尊重作者版权和平台条款。落地现在就去跑一次回到开头的问题——抖音视频批量下载难在哪难在没有一套能覆盖全部场景的流程。douyin-downloader 的价值恰恰是把单条、批量、直播、数据抓取这些散装需求统一到一个工具里并且用去重、重试、双引擎这些工程细节把能不能下下来变成下得好不好。现在就可以动手克隆项目、装上依赖、用cookie_fetcher配好登录态然后丢给它一个你最喜欢的博主主页链接。第一次看到成批作品安静地落进文件夹时你会明白它和那些网页工具的真正区别。【免费下载链接】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),仅供参考