抖音批量下载工具完整实战:从单个视频到作者主页一键抓取,这份配置写法可以直接抄
【免费下载链接】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就是为这些场景而生的开源抖音批量下载工具:它支持单个视频、图文、合集、音乐、收藏夹、直播录制与评论采集,默认去水印并自动挑选最高清视频源,一条命令就能跑完整个下载流程。
这篇文章不搞长篇大论,直接按"先跑通第一单、再解锁批量、最后玩进阶"的顺序,把每一步的命令、配置和效果都摆出来。你只需要跟着敲,最快三分钟就能看到第一个无水印视频落盘。
01 动手之前,先认清三个最扎心的下载困局
很多人以为"存抖音视频"很简单,真做起来才发现处处是坑:
- 水印赶不走:录屏或者某些在线工具保存下来,角落永远带着账号水印,观感大打折扣;
- 画质被偷偷压缩:经过第三方网站转存,原本高清的内容变得模糊,放大一点全是马赛克;
- 一次只能存一个:遇到一个高产作者,想收全他的作品就得反复复制链接、反复粘贴、反复等待。
而 douyin-downloader 的思路恰恰相反——它直接对接抖音接口拿原始视频源,把"去水印"和"挑最高清"交给程序自动完成,把"批量"变成默认能力。项目虽小,五脏俱全,核心模块拆得清清楚楚:auth管登录态、core管下载主流程、control管并发与重试、storage管落盘与数据库。哪怕你对代码没兴趣,纯当工具用,体验也足够顺滑。
02 三条命令跑通第一单:从克隆到无水印视频落盘
先别急着研究配置,把环境搭好、跑通第一单,后面的一切才有意义。整个过程只要三步。
第一步,克隆项目并安装依赖。项目基于 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。抖音接口需要登录态,项目提供了一个自动化获取工具,会自动打开浏览器让你扫码登录,登录完成后回终端按一下回车,Cookie 自动写入配置:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml💡 如果更习惯手动方式,也可以把浏览器里复制出的完整 Cookie 字符串直接填进
config.yml的cookies字段。
第三步,运行下载。先用一条最简单的视频链接试试水:
python run.py -c config.yml运行时你会看到类似下面的命令行界面:程序自动解析链接类型、拉取作品数据、并发下载媒体文件,并用进度条实时展示每个任务的完成状态。短链(v.douyin.com/...)也会被自动解析成真实链接,不用担心手抖复制错。
默认情况下,程序会下载视频本体,同时附赠封面、背景音乐和一份包含点赞数、发布时间、作者信息等的元数据 JSON——相当于每存一个视频,就顺手帮你归档了一份"作品档案"。
03 把链接换成人主页,批量下载的快乐就来了
单条链接只是热身。douyin-downloader 真正拉开差距的地方,是作者主页批量下载:只要拿到对方主页链接,就能把他的作品、点赞、合集、音乐一次性打包。
配置文件的写法非常直观。假设你想下载某位博主最近 50 条发布作品:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post # post=发布作品 like=点赞 mix=合集 music=音乐 number: post: 50 # 0 表示不限制数量 thread: 5 # 并发下载数 retry_times: 3 # 失败重试次数 database: true # 开启 SQLite 去重与历史记录想同时收下他的点赞作品和合集?把mode扩一下就行:
mode: - post - like - mix - music更贴心的是跨模式自动去重——同一个作品既出现在发布列表又出现在合集里,程序只下载一次,不会浪费流量重复存。
下载完成后,文件会自动按"作者 → 类型 → 日期_标题_ID"的目录结构归档,视频、封面、音乐、元数据分门别类,检索起来一目了然:
Downloaded/ └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── 视频.mp4 ├── 封面.jpg ├── 音乐.mp3 └── 数据.json如果嫌命令行不够直观,项目还配套了一个桌面版客户端(内测中):左侧是账号、关注、收藏、任务中心等模块,右侧粘贴链接即可开始,下载进度、历史档案、作品筛选都在图形界面里完成,适合不想碰终端的朋友。
对于追求效率的创作者,命令行模式反而是更顺手的选择——配合时间筛选和增量下载,可以做到"只补新内容":
start_time: "2024-01-01" # 只看这个时间之后的作品 end_time: "2024-12-31" increase: post: true # 只下载新增的发布作品 mix: true # 合集同理有了增量模式,长期跟踪一位作者变得非常省心:第一次全量下载,之后每次运行只搬走新增的部分,配合 SQLite 数据库的去重记录,重复下载基本不会发生。
04 进阶玩法:这些隐藏功能才是它的完全体
批量下载只是基本功。下面这几个能力,才是把 douyin-downloader 从"下载工具"升级成"内容管理工具"的关键。
📺 直播录制:重要的直播不再错过
拿到直播间链接填进配置即可录制,支持 FLV / HLS,可设置最长录制时长,主播下播后已录数据会完整保留:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 录到主播下播录制结果保存在Downloaded/{作者}/live/下,并附带直播间元数据快照。
💬 评论采集:把互动数据也留下来
做内容分析的人会喜欢这个功能。开启后,每个视频文件夹旁会多出一份*_comments.json,包含完整评论数据,可选是否抓取二级回复:
comments: enabled: true include_replies: false max_comments: 500 page_size: 20🔥 热搜榜与关键词搜索:追热点的一手数据源
不需要手动翻页面,两条命令直接导出 JSONL 格式数据,方便后续分析:
# 拉取热搜榜前 30 条 python run.py --hot-board 30 -p ./Downloaded # 按关键词搜索作品,最多 100 条 python run.py --search "猫咪" --search-max 100 -p ./Downloaded🔔 下载完成通知:跑批结束自动喊你
批量任务挂在后台时,下载完可以推送到 Bark、Telegram 或企业微信/飞书/钉钉的 Webhook,人到哪儿都不耽误收结果。
🛡️ 翻页被风控?浏览器兜底手动过验证
批量抓取时如果只能拉到 20 条作品(翻页风控的典型症状),开启浏览器兜底即可:程序会调起浏览器,你手动完成一次验证,剩余内容就能继续抓完。
browser_fallback: enabled: true headless: false max_scrolls: 24005 避坑手册:四个高频问题一次说清
问题一:只能抓到 20 条作品?这是翻页风控。确保browser_fallback.enabled: true且headless: false,浏览器弹窗出现后手动完成验证,不要急着关窗口。
问题二:Cookie 失效了?登录态过期是常态,重新跑一次 Cookie 获取命令即可:
python -m tools.cookie_fetcher --config config.yml问题三:下载速度慢?默认 5 个并发线程,网络条件好可以适当调大thread,但别贪多,3~5 个通常是稳定与速度的平衡点;遇到限速就调小并配合代理使用。
问题四:想重新下载某个视频?程序通过"数据库记录 + 本地文件"双重检查判断是否跳过。想重下,删掉对应目录并清理数据库记录即可,具体命令可以参考项目文档中"重新下载"一节。
06 写在最后:从"能下载"到"会下载"
回看整条上手路径,douyin-downloader 最大的价值不在于"能下载",而在于把批量、去重、归档、分析这些脏活全包了——你只负责粘贴链接,剩下的交给程序。
如果你想现在就动手,照着这个顺序来:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader拉取项目;pip install -r requirements.txt安装依赖;cp config.example.yml config.yml后执行python -m tools.cookie_fetcher --config config.yml配置 Cookie;- 填上想下载的链接,
python run.py -c config.yml跑起来; - 按本文第三节的写法,把链接换成作者主页,体验一次真正的批量下载。
最后提醒一句:工具本身只是技术实现,请把它用在个人收藏、学习研究等合理范围内,尊重原创作者的版权与平台规则。存下来的内容,留给真正需要它的人和自己。
【免费下载链接】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),仅供参考