4 步完成抖音无水印下载: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 把这条链路做成了命令行工具,能直接抓无水印原片,支持视频、图集、合集、音乐等类型,也支持作者主页批量下载。这篇指南面向没用过类似工具的你,从装环境到第一次出片,再到按需调配置,全部按实际可执行的方式写。
场景:短视频创作者的素材收集
你在做一个混剪账号,需要保存一批同题材的原片做参考和二次剪辑。手动录屏会带水印,在线转换站又压画质,一条条操作效率也低。
douyin-downloader 的工作方式是直接向抖音接口请求媒体源:优先选无水印地址,再按码率阶梯自动挑最高清一档;也可以开启original模式去探测上传时的原片。
这个工具能做什么
| 能力 | 说明 |
|---|---|
| 内容类型 | 单个视频、图文(图集)、合集、音乐(优先原声文件) |
| 批量下载 | 作者主页作品、点赞、合集、收藏夹(当前登录账号) |
| 画质 | 无水印优先;自动选最高码率,可选原画、1080p 等档位 |
| 去重与增量 | SQLite 数据库 + 本地文件双重去重,支持只下新增作品 |
| 容错 | 指数退避重试、下载完整性校验、翻页受限时浏览器兜底 |
| 附加产物 | 封面、背景音乐、头像、作品 JSON、评论采集(均可选) |
从 0 到第一次下载出片
步骤一:克隆并安装
需要 Python 3.8+,macOS / Linux / Windows 均可:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt步骤二:登录拿 Cookie
抖音接口需要登录态,工具提供了自动获取脚本,会打开浏览器,扫码登录后回到终端按 Enter,Cookie 会写进配置文件:
python -m tools.cookie_fetcher --config config.yml它依赖 Playwright,如果之前没装,先执行:
pip install playwright python -m playwright install chromium步骤三:建配置并运行
仓库里带了一份带注释的示例配置 config.example.yml,先复制一份:
cp config.example.yml config.yml打开config.yml,把link换成你想下载的链接,最小可用的改动长这样:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/然后运行:
python run.py -c config.yml跑完后去Downloaded/目录,会看到按「作者名/模式/日期_标题_作品ID」组织的文件夹,视频文件在里面。也习惯一次性参数的话,可以直接在命令行追加链接,不必改文件:
python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538"配置保存位置、画质与元数据
默认配置偏保守:只存视频本体,封面、音乐、头像、JSON 都是按需打开的,避免目录被附带文件撑大。常用调整项集中在 config.example.yml 前 70 行,注释写得比较细,可以直接对照改。
保存路径与命名
path控制落盘根目录;filename_template/folder_template控制文件与目录命名,可用变量包括{id}{title}{author}{date}{year}{month}{day}等,注意模板里保留{id}防止重名覆盖。folderstyle: true时每个作品单独建目录,方便后续管理。
画质与时间过滤
video_quality: original # 探测上传原片,探测失败退回最高转码档 start_time: "2025-01-01" end_time: "2025-12-31"video_quality可选original(原画)、highest(默认,最高转码档)、lowest,或直接指定1440p/1080p/720p/540p/360p,匹配不到会自动降到最接近的档位。start_time/end_time用于只保留指定日期范围内发布的作品。
想留元数据的话,把cover、music、json按需置为true,每个作品目录里会多出封面、BGM 和一条 JSON 记录。
版本怎么选:命令行、API 服务还是桌面版
一句话判断
只想下载东西,选命令行版,10 分钟上手;要把它接进自己的系统,用 REST API 服务模式;完全不想碰终端,可以关注还在内测的桌面版 Douzy。
三种形态速览
| 形态 | 入口 | 适合谁 |
|---|---|---|
| 命令行版 | python run.py -c config.yml | 绝大多数用户,批量、脚本化 |
| REST API 服务 | python run.py --serve --serve-port 8000 | 需要二次开发、对接其他程序 |
| 桌面版 Douzy(内测) | 项目 Releases 页下载 | 纯可视化操作,无命令行习惯 |
API 服务需要先pip install fastapi uvicorn,提交下载走POST /api/v1/download,查询任务走GET /api/v1/jobs/{job_id},接口细节见 server/app.py 与 README.zh-CN.md。桌面版基于同一套后端,粘贴链接即可开始:
任务中心里能看到每个任务的状态、成功/失败计数,失败项可以直接重试:
进阶玩法:批量、去重与增量
批量下载与自动去重
把作者主页链接放进link,用mode和number控制范围,number为 0 表示不限量:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 50 mix: 0同一个作品在多个模式下出现时会自动去重,不会重复下载。并发数由thread控制(默认 5),失败按 1s / 2s / 5s 指数退避重试retry_times次(默认 3)。
增量下载与时间过滤
increase: post: true database: true增量模式依赖 SQLite 记录(默认dy_downloader.db),下次对同一作者再跑,只会补新增作品。配合start_time/end_time还能只追踪某个时间段的内容,适合长期跟踪固定创作者的更新。
浏览器兜底与失败重试
翻页接口被风控限制时,browser_fallback会启动一个可见浏览器窗口继续滚动加载,期间需要你手动过一次验证码,不要立刻关窗。相关参数、限速(默认 2 请求/秒)与代理proxy的说明见 config.example.yml。
避坑手册:最容易卡住的三处
只抓到 20 条就停了
这是翻页风控的典型表现。确认browser_fallback.enabled为true且headless为false,弹出浏览器后完成验证再让它继续滚动。
Cookie 过期了
重新跑一次获取脚本即可,不用手工抓:
python -m tools.cookie_fetcher --config config.yml想让某条重新下载
去重是「数据库记录 + 本地文件」双重判断,只删文件不删记录不会触发重下。要重下某条作品,删掉对应数据库记录(文件名里的作品 ID 即aweme_id):
sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"全部从零开始的话,删掉Downloaded/目录和dy_downloader.db两个地方都清理即可,细节见 README.zh-CN.md 的「重新下载」一节。
合规提示与下一步行动清单
工具本身不判断内容归属,责任在使用者:建议只保存自己账号收藏、个人学习或合理范围内使用的作品,不用于商业传播或侵犯他人版权的内容;批量任务保持默认限速,别对接口施压。
下一步可以按顺序做:
- 克隆仓库并装好依赖,跑通
cookie_fetcher登录流程 - 用一条视频链接完成第一次下载,确认
Downloaded/目录结构符合预期 - 按需求打开
video_quality、封面/音乐/JSON 等开关 - 对一个固定作者启用增量模式,体验「只补新增」的批量跟踪
- 有二次开发需求时,再研究
--serve服务模式
更多场景(收藏夹下载、直播录制、评论采集、热搜榜导出)在 README.zh-CN.md 的「典型场景」一节都有可复制的配置示例,可以按需取用。
【免费下载链接】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),仅供参考