把抖音批量下载从 6 小时压到 15 分钟:douyin-downloader 上手手记 把抖音批量下载从 6 小时压到 15 分钟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假设你接了一个活儿为一个研究项目整理 500 条抖音视频。逐条打开链接、等加载、手动另存为这套流程熟练工也要 6 小时起步更别提命名混乱、元数据丢失、重复下载这些隐藏成本。douyin-downloader 就是为这类场景而生的抖音批量下载工具——去水印支持视频、图文、合集、音乐等多种类型的批量下载自带进度展示、失败重试和数据库去重。这篇文章采用任务推进的写法从接到任务、装好工具、跑通流程、解决翻车到收尾扩展带你完整走一遍真实使用路径。开工前先想清楚为什么不用在线解析站很多人第一反应是用粘贴链接出无水印视频的在线解析站。它们有两个绕不开的问题一是逐条操作没有批量能力500 条视频意味着 500 次复制粘贴二是质量不可控免费站点普遍压缩画质部分还会二次转码加更重的印。douyin-downloader 的定位完全不同它把解析—下载—归档整条链路做成了自动化流水线。内部按三层组织——SQLite 数据库层负责记录下载历史与去重核心引擎层负责链接识别、Cookie 管理、并发调度接口层提供命令行与配置文件两种操作方式。对使用者来说你只需要关心两件事把链接填进去把配置文件写好剩下的交给程序。装好环境三行命令安装过程本身没什么特殊之处Python 3.8 即可跨 macOS、Linux、Windowsgit 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 决定成败抖音的大部分接口需要登录态Cookie 就是工具的通行证。第一次用时可以偷个懒用自带脚本自动获取python -m tools.cookie_fetcher --config config.yml脚本会打开浏览器引导你登录抖音登录成功后回到终端按回车Cookie 自动写入配置文件。拿到 Cookie 后最小可用配置长这样逐项说明link: # 要下载的链接可写多条 - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ # 下载文件保存目录 mode: - post # 下载模式post主页作品 number: post: 50 # 最多下载 50 条0 表示全量 thread: 5 # 并发数网络好可以调高 retry_times: 3 # 单个任务失败重试次数 database: true # 开启 SQLite 去重与历史记录 cookies: msToken: ttwid: YOUR_TTWID # 自动获取脚本会替你填好这些值 odin_tt: YOUR_ODIN_TT passport_csrf_token: YOUR_CSRF_TOKENmode是整个工具的行为开关post是主页作品like是点赞列表mix是合集music是音乐原声collect是当前登录账号的收藏夹。一次配置可以同时开多个模式程序会跨模式自动去重同一个视频不会重复下载。跑通第一次下载配置就绪一条命令启动python run.py -c config.yml终端会进入带 Rich 进度条的界面逐条显示每个作品的解析、排队、下载状态。第一次运行建议加-v看详细日志出了问题好定位。图中每个条目对应一个正在下载的抖音视频右侧进度条实时更新。下载完成后文件按作者 → 模式 → 单个作品的层级归档每个作品目录里不仅有视频还附带封面、原声、作者头像和 JSON 元数据Downloaded/ └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── 视频.mp4 ├── 封面_cover.jpg ├── 原声_music.mp3 ├── 头像_avatar.jpg └── 元数据_data.json每个作品一个独立文件夹文件名按日期_标题_ID规则自动生成直接可作为素材库管理。命令行下也支持临时追加参数不想改配置文件时很方便python run.py -c config.yml -u https://www.douyin.com/video/7604129988555574538 -t 8-u追加单条链接-t临时把并发调到 8。把批量做得更彻底第一次跑通后你会发现真正省时间的不是下载这一步而是批量规划。作者主页链接支持四种模式组合link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like - mix - music number: post: 0 # 0 不限制数量全量抓取 like: 0 mix: 0 music: 0 increase: post: true # 增量模式只下载新增作品这套配置适合长期跟踪某个博主number置 0 全量抓取后续隔段时间重跑一次increase配合数据库记录只拉新增内容。收藏自己账号的内容则用另一条路径link: - https://www.douyin.com/user/self?showTabfavorite_collection mode: - collectcollect模式会把当前登录账号的收藏夹整体备份下来同样支持collectmix收藏的合集。任务途中的坑和它们的标准解法批量任务跑多了几个高频问题几乎人人都会遇到先给你打好预防针。只抓到 20 条就停了——这是翻页风控的典型症状。解法是启用浏览器兜底browser_fallback: enabled: true headless: false # 非无头模式方便人工过验证 max_scrolls: 240翻页受限时程序会自动拉起浏览器滚动加载弹出验证码时手动完成即可不要提前关窗口。Cookie 失效报登录错误——重新执行一遍python -m tools.cookie_fetcher --config config.yml。新版本还支持检测到登录态失效时自动打开浏览器重新登录并重试不用守着终端。重复下载浪费时间——database: true时程序通过数据库记录 本地文件名双重去重中断重跑会自动跳过已完成的作品。想重下一个作品删掉对应文件夹再清掉数据库里那条记录即可。下载慢或老失败——先检查网络再调参thread从 5 降到 3 往往更稳proxy可以配代理retry_times加大并配合指数退避1s/2s/5s配合timeout调大应对网络波动。任务之外的扩展玩法任务交付后这个工具还能顺手干不少杂活都是同一条命令体系里的功能评论采集comments.enabled: true每个作品额外生成*_comments.json可选抓取二级回复做舆情分析很实用。热搜与搜索导出python run.py --hot-board 30拉热搜榜python run.py --search 关键词 --search-max 100按关键词搜索结果落成 JSONL可直接喂给数据处理流程。直播录制链接填live.douyin.com/{房间号}FLV 流录制主播下播或中断时已录数据会保留附带直播间元数据快照。视频转写可选调用 OpenAI 转写接口为每个视频生成.txt和.json文字稿适合做内容检索。完成通知下载完推送 Bark / Telegram / Webhook长时间任务不用盯着终端。REST API 模式python run.py --serve --serve-port 8000暴露下载与任务查询接口方便集成到自己的系统里。桌面客户端Douzy基于同一套后端开发粘贴链接即可开始任务进度可视化桌面版左侧是功能导航右侧粘贴链接即可检测并配置下载内容。任务中心逐项展示排队、解析、下载进度可实时取消或导出事件流。命令行版与桌面版共享同一后端核心能力一致按使用习惯选择即可。使用边界与合规提醒说几点容易被忽略的限制避免踩坑collect/collectmix只支持当前登录 Cookie 对应的账号且必须单独使用不能和post/like混用。浏览器兜底目前只对post模式做了完整验证like/mix/music主要依赖 API 正常分页。直播的 HLS 源只保存 playlist 文件需要用 ffmpeg 二次处理。合规层面多说一句本项目采用 MIT 协议官方定位是技术研究、学习交流与个人数据管理。下载内容仅限你拥有合法权利的部分请勿用于侵犯他人版权或隐私平台接口策略变化导致功能失效也属于正常技术风险。最后从你的第一单开始回头看你最初那个整理 500 条视频的任务真实耗时大概是这样装环境加配 Cookie 半小时下载环节交给并发与自动解析原本 6 小时的工作量通常能压缩进 15 分钟左右且每一份下载都带着完整的元数据和规范命名。这个工具最适合三类人需要批量收集素材的内容创作者、需要大规模采集样本的研究者、以及想备份自己收藏的普通用户。如果你决定试试行动路径很清晰git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader并安装依赖复制配置模板跑一次tools.cookie_fetcher拿到 Cookie用上面那份最小配置下载一个视频验证流程再按你的真实需求打开mode、number、increase这些开关。第一次跑通之后剩下的就都是优化了。【免费下载链接】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),仅供参考