抖音批量下载工具 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 的用武之地——这是一款开源的抖音批量下载工具,支持单个视频、图集、合集、音乐(原声)和个人主页的批量下载,全程去水印,并提供进度显示、自动重试、SQLite 去重和浏览器兜底等能力。下文将从零开始,带你走完环境准备、Cookie 配置、最小示例到实战场景的全过程。
✨ 亮点速览
在你决定要不要往下读之前,先用 30 秒建立整体认知。douyin-downloader 最值得关注的几个点:
- 真正的无水印:直接解析抖音服务器返回的原始地址,从源头拿到无
playwm后缀的清晰版本。 - 双版本设计:V1.0(
DouYinCommand.py)稳定简洁,适合单个视频;V2.0(downloader.py)功能全面,擅长用户主页与批量任务,还带彩色进度条。 - Cookie 三选一:自动扫码获取、粘贴 Cookie 字符串、键值对配置,总有一种适合你。
- 增量更新与去重:基于 SQLite 记录已下载作品,再次运行只补新内容,不重复占用磁盘。
- 一套命令覆盖全类型:视频、图文、用户主页、合集、音乐、直播链接,扔进去就能自动识别。
✅ 使用前准备清单
项目依赖不多,但每一环都决定成败,逐个确认一下:
| 检查项 | 为什么需要 | 缺了会怎样 |
|---|---|---|
| Python 3.9+ 环境 | 项目核心脚本均为 Python 编写 | 无法运行任何入口脚本 |
| pip 依赖 | 需要requests、aiohttp、rich、pyyaml等库支撑下载与界面 | 启动即报 ModuleNotFoundError |
| 抖音账号与 Cookie | 抖音接口要求登录态,Cookie 是通行证 | 接口返回未登录错误,下载中断 |
| 网络可访问抖音 | 下载本质是请求抖音服务器 | 超时、解析失败 |
| 磁盘空间 | 视频原画质体积不小,批量任务更甚 | 下载中途写盘失败 |
| (可选)Playwright | 用于自动扫码获取 Cookie 与浏览器兜底 | Cookie 需手动配置 |
提示:如果不想装 Playwright,也完全不影响下载功能,只是 Cookie 需要走"手动粘贴"路线。
🚀 三分钟跑通第一次下载
下面是最小可行的完整流程,照着做,几分钟内就能在本地看到下载好的文件。
第 1 步:获取项目代码
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader第 2 步:安装依赖
pip install -r requirements.txt如果你打算用自动获取 Cookie 的方式,再补两条命令(二选一即可,不需要全装):
pip install playwright playwright install chromium第 3 步:配置 Cookie(推荐自动获取)
python cookie_extractor.py程序会弹出浏览器窗口,你在里面扫码登录抖音,登录成功后它会自动提取 Cookie 并写入配置文件,全程无需手动复制粘贴。
第 4 步:复制配置模板并填入链接
cp config.example.yml config.yml打开config.yml,把link下的示例链接换成你自己的目标链接。config.example.yml里默认写的是cookies: auto,配合上一步的自动获取即可。
第 5 步:启动下载
以稳定版为例,它会读取config.yml并开始干活:
python DouYinCommand.py跑完之后,在配置的path目录下就能看到按日期和标题命名好的文件夹。到这里,你已经完成了从零到一的成功运行。
🔧 实战场景展开
工具的价值体现在不同用法上。下面按三种典型场景展开,每个场景都是完整的可复现步骤。
场景一:个人轻量使用——只下载一两条喜欢的视频
需求很简单:收藏几个视频,不折腾配置文件。
直接走 V1.0 的命令行参数模式,一条命令搞定:
python DouYinCommand.py --cmd True -l "https://v.douyin.com/你的视频短链/" -p "./我的收藏/"说明:--cmd True表示用命令行参数而非配置文件,-l指定链接(可重复使用多次,一次传多条),-p指定保存目录。默认会顺带下载音乐、封面和头像,不想要可以加-m False关闭音乐、-c False关闭封面。
下载完成后,文件会按照"日期_标题"的命名方式归档,视频、封面、音乐各自独立存放,结构一目了然:
个人使用小贴士:如果只想留视频本体,可以把配置里的
music、cover、avatar都设为false,省空间也更快。
场景二:批量生产——整页下载某个创作者的全部作品
这是 V2.0 的主场。打开对方主页,复制形如https://www.douyin.com/user/一串ID的链接,然后:
# 指定链接直接下载,自动获取 Cookie(已装 Playwright 时可用) python downloader.py --auto-cookie -u "https://www.douyin.com/user/目标用户ID" # 或手动指定 Cookie 字符串 python downloader.py -u "https://www.douyin.com/user/目标用户ID" --cookie "msToken=xxx; ttwid=yyy" # 指定保存路径 python downloader.py -u "https://www.douyin.com/user/目标用户ID" -p "./批量素材库/"如果希望精细控制"下载什么、下载多少",更推荐写配置文件。把链接放进config.yml,设置模式与数量:
link: - https://www.douyin.com/user/目标用户ID path: ./批量素材库/ mode: - post # 下载发布的作品;可加 - like 下载喜欢的作品 number: post: 50 # 每个作者最多下载 50 个,0 表示全部 thread: 5 # 并发线程数然后运行python downloader.py -c config.yml。
运行时会看到彩色进度条与实时统计——成功、失败、跳过一目了然,下载速度与剩余时间也实时更新:
场景三:进阶玩法——合集、原声与增量更新
如果你盯上的是一个系列合集,或者想按某段背景音乐收集作品,链接类型从"用户主页"换成"合集页"或"音乐页"即可,识别是自动的:
# 下载某个合集下的全部作品 python downloader.py -u "https://www.douyin.com/collection/合集ID" # 下载某首原声下使用它的作品 python downloader.py -u "https://www.douyin.com/music/音乐ID"最实用的还是增量更新。开启后,SQLite 数据库会记录每次已下载的作品 ID,下次运行只补新增内容:
database: true # 启用数据库记录(增量更新的前提) increase: post: true # 主页作品只下载新增的 like: false # 喜欢的作品不增量配合时间过滤,还能精确控制只下载某个时间段的内容:
start_time: "2024-01-01" # 只下载 2024-01-01 之后发布的作品 end_time: "2024-12-31" # 只下载 2024-12-31 之前发布的作品📋 核心参数速查表
把最常用的配置参数汇总成一张表,日后按图索骥即可。
| 参数 | 可选值 / 格式 | 默认值 | 作用 |
|---|---|---|---|
link | 链接列表 | 空 | 要下载的链接,支持视频/主页/合集/音乐/直播 |
path | 目录路径 | 当前目录 | 下载文件保存位置 |
mode | post/like/mix | post | 主页下载模式:作品、喜欢、合集 |
number.post | 整数 | 0(全部) | 主页作品下载数量上限 |
number.like | 整数 | 0(全部) | 喜欢作品下载数量上限 |
number.allmix | 整数 | 0(全部) | 用户合集下载数量上限 |
number.mix | 整数 | 0(全部) | 单个合集内作品数量上限 |
number.music | 整数 | 0(全部) | 原声下作品数量上限 |
music/cover/avatar | true/false | true | 是否下载音乐、封面、头像 |
json | true/false | true | 是否保存元数据 JSON |
database | true/false | true | 是否启用 SQLite 记录与去重 |
increase.* | true/false | false | 各类内容是否增量下载 |
thread | 整数 | 5 | 并发线程数 |
retry_times | 整数 | 3 | 失败自动重试次数 |
start_time/end_time | YYYY-MM-DD | 空 | 按发布时间过滤 |
cookies | auto/ 字符串 / 键值对 | 空 | Cookie 配置方式 |
命令行对应关系:-l/--link、-p/--path、-m/--music、-c/--cover、-a/--avatar、-j/--json、-t/--thread、-M/--mode,V1.0 还额外提供--postnumber、--likenumber等细分参数。
🕳️ 避坑指南
把社区里最常见的几类问题整理成"现象→原因→解决办法",对号入座即可。
问题一:下载几个后全部失败,日志出现登录失效提示
- 现象:前几个作品正常,随后报
status_msg为未登录。 - 原因:抖音 Cookie 有效期较短,过期后接口拒绝访问。
- 解决:重新运行
python cookie_extractor.py扫码更新 Cookie;或对 V2.0 使用--auto-cookie。已配置的 Cookie 失效后记得同步更新配置文件。
问题二:短链接解析失败
- 现象:粘贴
https://v.douyin.com/xxxx/后提示解析失败。 - 原因:短链已失效,或复制的链接带了多余文案。
- 解决:在浏览器中打开一次短链确认能跳转;复制时只保留纯 URL,去掉分享文案后缀。
问题三:V2.0 下载单个视频偶尔失败
- 现象:单个视频链接在 V2.0 下偶发失败,V1.0 正常。
- 原因:V2.0 走的是增强版 API 路径,单作品接口与主页批量接口稳定性不同(项目说明中也标注了此差异)。
- 解决:单条视频优先使用 V1.0(
DouYinCommand.py);批量主页任务再用 V2.0,各取所长。
问题四:下载很慢
- 现象:批量任务整体速度偏低。
- 原因:默认 5 线程在你的网络环境下偏激进或偏保守,且接口请求有内置限速保护。
- 解决:用
-t 3或-t 8调整线程数试出最佳值;避开高峰期;确认磁盘剩余空间充足。
问题五:文件重复下载
- 现象:同一作品反复出现在下载目录。
- 原因:
database被设为false,或增量开关未开启。 - 解决:保持
database: true,并在需要的场景开启对应increase项。
🔍 原理浅析
一句话概括整套机制:把网页端本来就要执行的请求,交给脚本替你完成。
- Cookie 认证:抖音的接口需要登录态,工具模拟浏览器请求头并携带你的 Cookie,从而获得访问权限。
- 去水印解析:服务器返回的视频地址列表里,
playwm前缀对应带水印版本,工具把它替换成play得到无水印直链,再从多个地址里挑最高画质(如 720p 换 1080p)。 - 链接识别:拿到链接后先判断类型——
/user/是主页、/video/是视频、/collection/是合集、/music/是音乐,然后走对应流程。 - 去重与增量:每次成功下载都把作品 ID 写进 SQLite,下次运行时先查库,已存在的直接跳过,实现只补新。
- 稳定性兜底:请求失败按指数退避自动重试;API 分页受限时,会尝试用浏览器方式补充采集。
理解这几点,你就知道为什么"换个 Cookie 就复活""开增量就不重复"了。
🎯 最后:现在就可以开始
douyin-downloader 的价值在于把"收藏抖音内容"这件事从手动逐个操作,变成一条命令的批量流水线。无论你是想保存几个心仪视频的轻度用户,还是需要持续收集素材的内容创作者,它都提供了对应的路径。
下一步行动清单:
git clone项目代码并安装依赖;- 用
python cookie_extractor.py完成扫码登录,搞定 Cookie; - 复制
config.example.yml为config.yml,填入第一条链接; - 先跑通单视频下载,再尝试主页批量;
- 按需开启
database与increase,建立长期增量收藏库; - 定期更新项目版本,获取接口适配修复与新增能力。
最后提醒一点:工具无罪,用法有界。请将下载内容仅用于个人学习、研究与合理引用,尊重创作者版权,遵守平台规则与当地法律法规。祝下载顺利,收藏愉快。
项目地址:https://gitcode.com/GitHub_Trending/do/douyin-downloader开源协议:MIT License适用平台:Windows / macOS / Linux运行环境:Python 3.9+
【免费下载链接】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),仅供参考