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
想把喜欢的抖音视频存到本地,官方 App 只提供录屏,成品还带着水印。douyin-downloader 是一个基于 Python 的抖音无水印下载工具:粘贴作品或主页链接,它负责解析、抓取无水印源,再按作者和模式整理落盘。读完这篇,你能独立完成安装、扫码登录,并跑通一次主页批量下载任务。
适合谁用
- 想把博主主页作品批量存到本地,建素材库或做备份
- 想按时间段、按数量采集作品,保留封面、原声等附带产物
- 习惯命令行,希望把批量任务写进脚本或定时任务里跑
- 需要说明的是:CLI 只支持抖音,不涉及其他平台;它也不负责转码、字幕或发布搬运
环境准备与首次配置
前置条件:Python 3.9+(Windows / macOS / Linux 均可)、能正常访问抖音的网络。浏览器翻页兜底和扫码登录依赖 Playwright,建议一并装上。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt python -m pip install playwright python -m playwright install chromium前两条完成克隆并进入目录,第三条按 requirements.txt 装好 aiohttp、aiosqlite、rich 等核心依赖,最后两条装可选的浏览器组件。
第一次上手闭环:从扫码到落盘
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml第一条把模板复制成本地配置,第二条弹出浏览器,扫码登录抖音后回终端按 Enter,Cookie 自动写回 config.yml,不用手动复制。Windows PowerShell 下复制命令换成Copy-Item config.example.yml config.yml。扫码工具见 tools/cookie_fetcher.py。
然后把目标链接替换进去,其余字段先保持默认:
link: - https://www.douyin.com/user/YOUR_SEC_UID path: ./Downloaded/完整的字段说明都在 config.example.yml 的注释里。最后执行python run.py -c config.yml,终端出现 Rich 进度条,实时显示已完成、跳过与失败数量。全部结束后,文件按"作者名 → 模式(post / like / mix / music)→ 日期_标题_作品id"三层结构落在./Downloaded/下,根目录另有download_manifest.jsonl清单和dy_downloader.db去重库。
按场景讲功能:三种常用玩法
批量采集作者主页作品
目标:把博主作品收进本地素材库,并且能反复增量运行。
mode: [post]只抓发布作品,like/mix/music可叠加number.post: 50限量前 50 条,0表示全量start_time/end_time用YYYY-MM-DD只收特定时间段,含结束日当天increase.post: true跳过已下载作品,磁盘主文件缺失时会按redownload_missing_files补下
操作提示:同名博主较多时把author_dir设为nickname_uid,目录唯一不串。
单品收藏与短链解析
目标:随手保存几条喜欢的作品,不用改配置文件。
-u直接追加链接:python run.py -c config.yml -u "https://v.douyin.com/xxx"- 短链会自动解析,解析与保存逻辑在 core/video_downloader.py
video_quality默认highest挑最高转码档,可改original尝试原片,或1080p等分辨率- 默认只存视频本体,
cover: true/json: true按需打开封面与元数据
操作提示:已有非空文件的作品直接跳过,同一份收藏列表可以放心重复执行。
直播录制与评论采集
目标:长时任务和作品数据侧的收集。
link指向live.douyin.com/{房间号}即触发录制live.max_duration_seconds: 0表示录到主播下播comments.enabled: true为每个作品额外输出*_comments.jsoncomments.include_replies: true连同二级回复一起抓
操作提示 ⚠️:直播录制是实验功能,HLS 源只保存播放列表、不是可直接播放的视频;评论采集请求量大,建议用max_comments限量。
核心参数速查
| 参数 | 说明 |
|---|---|
link/-u | 下载目标;-u追加链接,不改动配置里的原链接 |
mode/number | 选作品 / 喜欢 / 合集 / 音乐,数量0表示不限 |
start_time/end_time | 日期筛选(YYYY-MM-DD),包含结束日当天 |
video_quality | 默认highest,可设original、lowest或1080p等档位 |
increase.post | true跳过已下载作品;false重下并覆盖当前范围内文件 |
thread/proxy | 并发数(默认 5)与 HTTP 代理 |
问题与处理
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 主页只抓到少量作品 | 翻页被风控限制 | 保持browser_fallback.enabled: true且headless: false,浏览器弹出后手动过验证再等待 |
| 单个视频、合集等下不了 | 接口被风控直连拦截,重新登录也不解决 | 主页作品可尝试浏览器兜底;日常下载建议改用 Douzy 桌面版 |
| 403 或提示登录态失效 | Cookie 过期 | 重跑python -m tools.cookie_fetcher --config config.yml更新 |
| 想重下已有作品却被跳过 | SQLite 去重生效 | 把increase.post设为false即可强制重下,无需清空数据库 |
| 下载慢、频繁限流 | thread并发过高 | 降到 3–5;网络不稳时给proxy配 HTTP 代理 |
douyin-downloader 把"链接 → 本地文件"的整条链路压缩成一条命令加一份 YAML,目录组织、SQLite 去重与失败重试都内置,长期跑任务时不用额外维护。平台接口策略会持续变化,功能失效属正常技术风险,留意项目更新即可。下载内容请仅用于个人观看和合理使用,尊重原创作者,不要商用或二次传播。
【免费下载链接】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),仅供参考