抖音批量下载工具 douyin-downloader 完整指南:从单视频到作者主页全量采集
抖音批量下载工具 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
"凌晨两点,我盯着屏幕上的第 43 个视频,感觉手指快失去知觉了。"这是半个月前,一位做竞品分析的朋友在群里发的牢骚。他要收集 5 个账号、将近 300 个作品来做内容复盘,手动一个个打开、另存为、改文件名,整整熬了两个通宵。而这个场景,几乎是每个内容创作者、市场研究员和短视频运营都踩过的坑。直到我找到 douyin-downloader——一个开源的抖音批量下载工具,事情才彻底变了样:一条命令跑完,300 个视频连同封面、文案、评论区数据整整齐齐躺在硬盘里,还自动去了水印。这篇文章就把我从"手动下载"到"全自动采集"的全过程拆给你看。
第一天:先解决最疼的那个问题——单视频与短链下载
5 分钟搭建环境并自动获取 Cookie 的完整步骤
任何抖音采集工具,第一道门槛都是登录态。douyin-downloader 把这件事压缩到了三步:
# 第一步:安装依赖(Python 3.8+ 环境) pip install -r requirements.txt # 第二步:一键启动浏览器,扫码登录后自动写入 Cookie python -m tools.cookie_fetcher --config config.yml # 第三步:把链接喂给下载器 python run.py -c config.yml -u "https://v.douyin.com/xxxxx/"初次配置全程不超过 5 分钟。工具会在登录完成后把 Cookie 自动落盘到配置里,之后每次运行都不需要再碰登录这件事。对于不熟悉命令行的用户,项目也提供了桌面客户端 Douzy,粘贴链接、点一下"检测",就能看到识别出的作品类型并勾选下载内容,适合先上手体验。
💡新手提示:Cookie 是抖音鉴权的核心。如果某天运行时报"登录态失效",重新跑一遍第二步即可,不需要重装任何东西。
单视频下载命令与画质自动选择的用法示例
拿到任何一条抖音链接,不管是v.douyin.com短链、www.douyin.com/video/xxx还是裸域名,工具都能自动识别。下载时会做两件聪明的事:
- 去水印优先:自动在视频源里挑选无水印版本;
- 最高清兜底:根据接口返回的码率数组逐档对比,选最高码率那一份。
# 下载单个视频,指定输出目录 python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -p ./Downloaded跑完你会得到一组配套文件:视频本体、封面图、背景音乐、作者头像、原始 JSON 元数据,全按日期_标题_作品ID的规则命名。也就是说,一个作品的所有素材一次到位,后面做剪辑、做二创都省事。
一周后:把重复劳动交给批量采集与自动去重
作者主页作品批量下载的分页与数量控制方法
熬过第一个晚上之后,我开始认真研究它的批量能力。真正让我惊艳的,是主页采集对"翻页风控"的处理方式。抖音 API 翻页拉多了会被限流,很多工具在这里直接卡死,而 douyin-downloader 内置了浏览器兜底机制:API 翻不动时,它自动拉起一个 Chromium 窗口继续滚动加载,甚至允许你手动过验证码,然后接着把数据采完。
在config.yml里做如下配置,就能全量或限量拉取一个作者的所有作品:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 作者主页链接 mode: - post # post=作品 / like=点赞 / mix=合集 / music=音乐 number: post: 0 # 0 表示不限制数量,全量下载 thread: 5 # 并发下载线程数SQLite 数据库去重与断点续传的实现原理
批量下载最大的隐形成本是"重复"。手动操作时,你怎么记得住哪个视频下过了?douyin-downloader 用两层机制解决:
- SQLite 数据库记录每个作品的下载历史(
dy_downloader.db里的aweme表); - 本地文件扫描:下载前检查目录里是否已存在包含该作品 ID 的文件。
两层互为补充,就算你删了数据库,文件还在就不会重复下载;反过来文件丢了,数据库有记录也会帮你补下。这让"增量下载"成为可能——配置里把increase.post设为true,下次运行就只拉新发布的作品,非常适合做每日竞品监控。
一个月后:从"能下载"到"采集管线"的进阶玩法
合集与音乐资源的批量获取配置清单
如果你的目标不只是单个作者,而是整个合集或者某首热门音乐下的所有视频,把mode换成mix或music即可。工具支持:
| 模式 | 采集内容 | 典型配置 |
|---|---|---|
post | 作者发布的作品 | number.post: 50 |
like | 作者公开的点赞列表 | number.like: 0(全量) |
mix | 作者的全部合集 | number.mix: 0 |
music | 某音乐原声下的作品 | number.music: 0 |
collect | 自己账号的收藏夹 | 需登录当前账号 |
多个模式可以同时开启,跨模式还会自动去重——同一个作品在"作品"和"合集"里都出现时,只下载一次。
关键词搜索、热搜榜与评论采集的一站式用法
到了这个阶段,你可能不再满足于"按账号下载",而是想"按内容"采集。它提供了三条辅助管线:
# 抓取抖音热搜榜前 30 条,输出 JSONL 数据文件 python run.py --hot-board 30 -p ./Downloaded # 按关键词搜索作品,最多 100 条 python run.py --search "露营" --search-max 100 -p ./Downloaded配合配置文件里的comments段,还能在下载媒体文件的同时,把每个作品的评论区(含二级回复)抓下来,生成*_comments.json。对于做舆情分析、选题调研的人来说,等于一次把"视频+文案+评论"三份素材全打包了。
如果你追直播,把链接换成live.douyin.com/{房间号},它还能录制直播流为 FLV 文件,主播下播、网络中断或手动 Ctrl+C 时,已录制的部分都会保留下来,不会前功尽弃。
进阶地图:把下载器嵌进自己的系统里
通知推送与 REST API 服务模式的接入方法
到这一步,工具已经不只是命令行玩具了。它提供了两种"融入工作流"的方式:
方式一:下载完成通知。在配置里填上 Bark、Telegram 或 Webhook 地址,下载任务结束后自动推送结果。跑深夜的批量任务,早上醒来瞄一眼手机就知道昨晚的战果。
方式二:REST API 服务模式。一条命令把下载器变成常驻服务:
pip install fastapi uvicorn # 一次性可选依赖 python run.py --serve --serve-port 8000之后就能用POST /api/v1/download提交链接、用GET /api/v1/jobs/{job_id}查询任务状态。想接进自己的 CMS、数据流水线或 n8n 自动化工作流,都只是几行代码的事。
浏览器兜底配置与常见坑位的避坑清单
进阶路上总会踩坑,我把最常见的三个问题提前列出来:
- 只能抓到 20 条作品?大概率是翻页被风控了。确认
browser_fallback.enabled: true、headless: false,浏览器弹窗出现后手动完成验证,别急着关窗口。 - 日志刷屏看不清进度?默认
progress.quiet_logs: true会静默进度阶段日志,需要排查时再加-v。 - 想重新下载某个作品?因为去重是"数据库+文件"双重校验,需要同时删除本地文件里对应 ID 的目录,以及数据库里
aweme表对应的记录,否则会一直"跳过已存在"。
下载完成后的文件按作者、按模式分好目录,日期前缀来自作品的真实发布时间,配合桌面版的"作品档案"界面,可以用 SQLite 历史数据按作者、标题关键词、时间范围筛选归档。
现在轮到你了
从熬两个通宵手动下载,到一条命令跑完 300 个视频,douyin-downloader 让我真正理解了"工具的价值在于把时间还给人"。它不挑使用者的技术水平——新手从单视频命令开始,老手可以直接把它嵌进自己的采集系统。项目代码结构清晰,cli/管入口、core/管下载逻辑、storage/管落盘与数据库、auth/管 Cookie,想要二次开发,顺着目录就能摸清脉络。
三个关键要点,收藏备用:
🎯先跑通最小链路:装依赖 → 自动获取 Cookie → 下第一个视频,5 分钟建立信心。
🔧批量前先想清楚模式:post/like/mix/music按需组合,配合number与increase控制数量与增量。
🔄把"稳定"当默认值:打开浏览器兜底、保留数据库去重,风控来了也能从容应对。
去 clone 一份代码跑起来吧,仓库地址:https://gitcode.com/GitHub_Trending/do/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),仅供参考