抖音无水印下载完整上手指南: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 是一款免费开源的抖音无水印下载工具,把链接写进配置文件就能自动抓取无水印原片。本文带你走完克隆、装依赖、配 Cookie 到首次下载全流程,并说明三类常见需求怎么配、遇到问题去哪查。
🎯 它解决什么:单条、合集、整个主页一次拿全
这是一个命令行工具:你在 YAML 配置文件里贴链接,它负责解析链接、请求抖音接口、挑出无水印的视频源,再并发下载到本地。单条视频、图文、合集、音乐都能下,作者主页可以按"发布 / 点赞 / 合集 / 音乐"四种模式整页批量拉取。
它适合三类人:想离线保存作品的普通用户、要攒素材的创作者、要收集结构化数据做分析的人。全部功能免费,代码开源,可自由魔改。此外项目还基于同一套后端提供了一个桌面版 Douzy(内测中),偏好图形界面的可以留意 Releases 页面。
桌面版 Douzy 的抖音链接下载工作台:粘贴视频、图文、主页或合集链接即可开始
📦 能力地图:你要哪种下载,来这里对号
| 能力点 | 帮你省掉的事 | 适合谁 |
|---|---|---|
| 单条视频 / 图文 / 合集 / 音乐下载 | 从 App 里手动另存、找无水印来源 | 只保存个别作品的人 |
| 主页批量下载(post / like / mix / music 四种模式) | 逐页翻主页、逐个点保存 | 建立创作者素材库的人 |
| 并发下载 + 指数退避重试 | 一条等一条、失败后手动重跑 | 跑大批量任务的人 |
| 时间过滤 + 数量上限 | 拉回一堆无关内容再删 | 只收集某时段内容的人 |
| 磁盘增量 + SQLite 历史记录 | 重复下载同一作品、手动对账 | 长期周期性收集的人 |
| 评论采集、热搜榜、关键词搜索导出 JSONL | 另写爬虫脚本抓数据 | 做数据分析的人 |
| 浏览器兜底 | 翻页被风控卡住后手动验证 | 遇到平台限制的人 |
⚙️ 它怎么工作:解析链接、无水印取源、分类落盘
核心流程是四步:先用 URL 解析器识别你贴的是视频、图文、合集还是主页链接;再带上你的 Cookie 请求抖音接口拿到作品信息,从返回的码率档位里自动挑无水印源和最高清晰度;然后按thread配置并发下载,默认限速 2 请求/秒,失败按 1s、2s、5s 退避重试;最后把媒体文件、封面、音乐、JSON 元数据按"作者 → 模式 → 发布日期_标题_作品ID"的目录存好,同时追加一份 JSONL 下载清单,SQLite 里记录历史用于去重。
关键实现集中在 core/url_parser.py(链接识别)和 core/downloader_factory.py(按链接类型分发到具体下载器),想看细节可以直接打开读。
🚀 四步完成克隆到首次下载
第1步:拉代码并安装依赖
要求 Python 3.8+,macOS / Linux / Windows 均可。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第2步:装浏览器兜底(可选但建议)
主页作品翻页常被平台风控限制,装上 Playwright 后工具能拉起浏览器让你手动过验证。
pip install playwright python -m playwright install chromium第3步:准备配置文件并填入链接
cp config.example.yml config.yml打开config.yml,至少改link和path。下载某位作者的主页作品,最小配置长这样:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post完整字段说明可对照 config.example.yml。
第4步:自动获取 Cookie 并跑第一次下载
抖音需要登录态。运行下面的命令会打开浏览器,扫码或账号登录抖音后回到终端按 Enter,Cookie 会自动写回配置文件:
python -m tools.cookie_fetcher --config config.yml python run.py -c config.yml终端里会出现进度条,下载完会在Downloaded/下按作者分好文件夹。临时想多传参数也行,比如-u追加链接、-t 8改成 8 并发、-p换输出目录。
🎬 三类常见需求:分别改哪里
个人保存:只下几条视频
把link换成具体视频或图文链接(支持v.douyin.com短链,会自动解析),删掉mode即可,跑python run.py -c config.yml就行。封面、音乐、元数据是否一起下,看配置里对应开关。
创作者建素材库:主页批量下载
mode: - post - mix number: post: 50 mix: 0number下各项是该模式的条数上限,0表示不限。同一作品跨模式会自动去重,不会下两遍。配合start_time/end_time还能只收某个时间段的内容。
数据收集:按关键词和时段捞数据
不下载媒体、只要数据时,用两个独立参数,结果直接落成 JSONL 文件:
python run.py --search "露营装备" --search-max 100 -p ./Downloaded python run.py --hot-board 30 -p ./Downloaded拿到 JSONL 后再用 pandas 处理,字段里有标题、作者、发布时间、点赞数等。
🔧 最常用的五个配置项
| 配置项 | 写法示例 | 作用 |
|---|---|---|
mode | mode: [post, music] | 主页下载类型:发布 / 点赞 / 合集 / 音乐 |
number | number: { post: 100 } | 每种模式的条数上限,0 为不限 |
start_time/end_time | "2025-01-01" | 只下该时间范围内发布的作品 |
thread | thread: 5 | 并发下载数,默认 5,机器弱就调低 |
increase | increase: { post: true } | 增量模式:本地已有文件的跳过,适合反复跑 |
另外两个容易用到:browser_fallback.headless: false保证兜底时能人工过验证码;progress.quiet_logs: true让进度阶段日志更干净。
🩹 遇到问题:按这张表自查
| 现象 | 原因 | 处理办法 |
|---|---|---|
| 主页只拿到约 20 条就停 | 平台对 API 翻页做了风控 | 确认browser_fallback.enabled: true且headless: false,在弹出的浏览器里手动过验证,别过早关闭 |
| 部分接口报 403 / Uifid Not Found | 2026-08 起抖音 Argus 门禁拦截 CLI 直连的部分接口(点赞 / 收藏 / 合集 / 音乐等) | 先看 README 的"限制说明",这类内容改用桌面版 Douzy |
| 提示未登录、Cookie 失效 | Cookie 过期 | 重跑python -m tools.cookie_fetcher --config config.yml |
| 想重新下载但文件没出现 | 磁盘文件 + 数据库双重检查,只删库不删文件不触发 | 删掉本地文件即可触发重新下载;文件夹名里带 aweme_id,好定位 |
| 进度输出重复、刷屏 | 日志级别默认较详细 | 设progress.quiet_logs: true;调试时临时加-v看完整日志 |
更细的边界说明以 README 的限制说明为准,风控是动态的,接口行为可能随平台更新变化。
📁 下载的东西落在哪:目录结构看一遍
默认folderstyle: true时,产物长这样(日期取作品发布时间,不是下载时间):
Downloaded/ ├── download_manifest.jsonl # 每行一条的下载清单,含标签、文件路径 ├── 作者名/ │ └── post/ │ └── 2024-02-07_标题_作品ID/ │ ├── ..._作品ID.mp4 # 无水印视频 │ ├── ..._cover.jpg # 封面 │ ├── ..._music.mp3 # 背景音乐 │ └── ..._data.json # 点赞、评论数等元数据 └── dy_downloader.db # SQLite 历史库(database: true 时生成)规律:一级目录按作者,二级按下载模式(post / like / mix / music / live),每条作品单独一个文件夹,媒体、封面、音乐、JSON 同目录存放。清单文件download_manifest.jsonl可以直接拿来当索引表用。
✅ 现在就可以做的五步
- 克隆仓库,执行
pip install -r requirements.txt - 复制
config.example.yml为config.yml,填入第一条链接 - 运行
python -m tools.cookie_fetcher --config config.yml拿 Cookie - 运行
python run.py -c config.yml,等进度条走完 - 到
Downloaded/里确认文件,需要批量时再调number、mode和时间范围
最后提醒:下载内容请仅用于个人学习、研究和合理使用范围,尊重原创作者的版权,不要用于商业性再分发;平台接口与风控策略会持续变化,功能临时失效属于正常技术风险,留意 README 的更新说明即可。
【免费下载链接】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),仅供参考