5步批量下载抖音视频: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是一个开源的抖音视频批量下载工具,支持去水印、用户主页批量下载、合集、音乐原声,配置一次就能反复使用。
它解决什么问题
| 能力 | 说明 |
|---|---|
| 去水印下载 | 视频、图集(图文笔记)保存为无水印文件 |
| 批量下载 | 用户主页作品、点赞、合集、音乐一次打包 |
| 附带资源 | 原声音频、封面图、作者头像、JSON 元数据 |
| 稳定性 | 失败自动重试、SQLite 数据库去重、浏览器兜底 |
| 直播录制 | 拉取直播间流地址,支持多档清晰度 |
| 进度可视 | 命令行实时进度条 + 成功/失败统计 |
它把"识别链接、去水印、归档、去重、重试"整条链路自动化,你只需给一个链接和一份配置。支持的链接:单视频(douyin.com/video/...或v.douyin.com短链)、图文笔记(/note/...)、合集(/collection/...)、用户主页(/user/...,可批量)、直播间(live.douyin.com/...)。
10 分钟跑通第一次下载
- 克隆仓库到本地:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader- 安装依赖(需要 Python 3.9+):
pip install -r requirements.txt- 获取Cookie(登录凭证,首次使用必须)。推荐自动方式,它会自动打开浏览器,扫码登录后把 Cookie 写进配置文件:
python cookie_extractor.py不想装浏览器组件,也可以运行python get_cookies_manual.py,按提示从浏览器开发者工具(F12)复制 Cookie 粘贴进去。
- 复制一份配置文件,填入下载链接和保存目录:
cp config.example.yml config.yml最简配置长这样:
link: - https://v.douyin.com/xxxxx/ path: ./Downloaded/- 启动下载,观察进度条:
python DouYinCommand.py程序先打印下载配置,然后逐条推进度。看到"下载完成,成功:1/1"的统计,第一次下载就成了。
按场景选择下载模式
同一个主页链接,mode不同,抓回来的东西完全不同。按你的目的选:
场景一:存单条视频
把分享链接填进link,不需要mode,工具自动识别:
link: - https://v.douyin.com/xxxxx/ music: true # 顺带保存原声 cover: true # 顺带保存封面图集(图文笔记)链接同理,直接填/note/...即可。
场景二:备份整个创作者
想收齐某个博主的作品,主页链接 + 模式 + 数量上限:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 # 0 表示不限制条数想连同点赞过的内容一起收,mode里加一行- like。
场景三:录直播
把直播间链接用-l参数传入,命令行会列出直播间信息、清晰度档位和流地址,选一档即可开始:
python DouYinCommand.py -l "https://live.douyin.com/xxxxx" -p ./Downloaded/场景四:大批量任务
作品多的主页建议给 V2.0 增强版(downloader.py),它走异步架构,并内置了浏览器兜底策略——API 请求受限时自动切换,减少批量任务翻车概率:
python downloader.py -u "https://www.douyin.com/user/xxxxx" --auto-cookie配置速查表
| 配置项 | 作用 | 建议值 |
|---|---|---|
link | 要下载的链接列表 | 按需填写 |
path | 文件保存根目录 | ./Downloaded/ |
cookies | 登录凭证,键值对或整串 | 必填 |
mode | 主页模式:post / like / mix | post 起步 |
number | 各模式数量上限,0 = 不限制 | 测试时先设小 |
thread | 并发线程数 | 默认 5 |
retry_times | 单条失败重试次数 | 3 |
music/cover/avatar | 是否下载原声、封面、头像 | true |
json | 是否保存元数据 | true |
database | 是否写数据库做去重 | true |
increase | 增量下载,只下新的 | 长期备份时开 |
start_time/end_time | 按发布日期过滤 | 留空不限 |
folderstyle | 每个作品单独建文件夹 | true |
关键提醒:database: true会把每条下载记录写进 SQLite,配合本地文件双重校验;再开increase,重复运行就只补新内容,不会占满硬盘。
文件输出与命名
默认按"创作者 → 模式 → 时间戳_标题"归档:
Downloaded/ └── user_创作者昵称_xxx/ ├── post/ │ └── 2024-12-30 19.37.12_作品标题/ │ ├── 作品标题.mp4 # 无水印视频 │ ├── 作品标题.mp3 # 原声 │ ├── 作品标题.jpg # 封面 │ ├── 头像.jpg │ └── data.json # 元数据 ├── like/ └── mix/批量下载完成后的文件夹概览长这样,按日期排列,找东西很方便:
folderstyle: false可以让所有作品共用一个文件夹;文件名按"时间戳_标题"生成,想改结构可以直接改保存目录。
长期稳定使用
- Cookie 定期刷新:Cookie 有有效期,某天大面积失败先怀疑它,重跑
python cookie_extractor.py即可。 - 保持
database: true:去重和增量都靠它,别为了省事关掉。 - 并发渐进调:先
thread: 5,稳了再上调;同时把retry_times设为 3 左右,网络抖动自动补。 - 大批量留耐心:翻页请求多时程序会多次重试,属正常现象,别中途杀进程。
- 单视频失败换 V1:V2.0 对单条视频偶有 API 空响应的已知问题,单条场景建议用 V1.0 的
DouYinCommand.py。 - 按需求拆分配置文件:比如一份"日常收藏"、一份"完整备份",互不干扰。
常见问题
Q:突然大面积下载失败?大概率 Cookie 过期。重新执行python cookie_extractor.py刷新后即可恢复。
Q:为什么只下载了前几条就停了?主页翻页触发了平台风控,程序会自动多次请求重试;仍不行就调低thread、稍后再跑,必要时换浏览器兜底通道。
Q:想重新下载某条作品?要同时清理两处:删掉本地对应文件夹,再从数据库记录中移除该作品,然后重跑:
sqlite3 data.db "SELECT * FROM sqlite_master WHERE type='table';"先列出表名确认结构,再对对应表执行删除。
Q:怎么查历史下载记录?直接查 SQLite 数据库,data.db在仓库根目录,用任意数据库工具打开即可。
写在最后
一条链接、一份配置,视频、图集、合集、原声都能落地,去重和重试也替你处理好了。三条建议:先用单条视频练手跑通流程;Cookie 定期刷新,这是长期稳定使用的生命线;并发参数按网络环境调,别盲目拉满。
本项目仅供技术学习与个人数据管理使用,请遵守平台服务条款,尊重内容版权与创作者权益。
【免费下载链接】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),仅供参考