news 2026/9/15 18:20:00

4 步完成抖音无水印下载:douyin-downloader 新手实操指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4 步完成抖音无水印下载:douyin-downloader 新手实操指南

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用于只保留指定日期范围内发布的作品。

想留元数据的话,把covermusicjson按需置为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,用modenumber控制范围,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.enabledtrueheadlessfalse,弹出浏览器后完成验证再让它继续滚动。

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 的「重新下载」一节。

合规提示与下一步行动清单

工具本身不判断内容归属,责任在使用者:建议只保存自己账号收藏、个人学习或合理范围内使用的作品,不用于商业传播或侵犯他人版权的内容;批量任务保持默认限速,别对接口施压。

下一步可以按顺序做:

  1. 克隆仓库并装好依赖,跑通cookie_fetcher登录流程
  2. 用一条视频链接完成第一次下载,确认Downloaded/目录结构符合预期
  3. 按需求打开video_quality、封面/音乐/JSON 等开关
  4. 对一个固定作者启用增量模式,体验「只补新增」的批量跟踪
  5. 有二次开发需求时,再研究--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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 18:19:29

SpringBoot外卖跑腿系统:智能调度与高并发实践

1. 项目概述与背景外卖跑腿配送系统是近年来随着本地生活服务数字化浪潮兴起的关键基础设施。我们团队基于SpringBoot框架开发的这套系统&#xff0c;核心解决了三个行业痛点&#xff1a;订单流转效率低、配送资源调度不均衡、商户与骑手协同困难。在实测中&#xff0c;相比传统…

作者头像 李华
网站建设 2026/9/15 18:19:18

基于MAX V 5M570的CPLD实现I2C RTC(PCF8563)驱动设计

简介&#xff1a;面向CPLD/FPGA开发者和硬件设计学习者&#xff0c;这套MAXV 5M570 CPLD开发板原理图与PCF8563高精度温补RTC芯片的Verilog驱动源码&#xff0c;以完整的Quartus 13.0工程形式提供&#xff0c;可直接打开分析或二次开发。核心模块pcf8563以mclk和reset作为输入&…

作者头像 李华
网站建设 2026/9/15 18:19:08

高压直流输电在线监测系统的Matlab仿真与工程实践

1. 高压直流输电在线监测系统的工程价值在电力系统现代化进程中&#xff0c;高压直流输电&#xff08;HVDC&#xff09;技术因其远距离大容量输电的经济性&#xff0c;已成为跨区域电网互联的核心手段。但直流输电线路的绝缘子污闪、换流阀过热等故障具有突发性强、破坏性大的特…

作者头像 李华
网站建设 2026/9/15 18:18:08

OpenHarmony中List列表组件的分布式优化与应用

1. List列表组件在OpenHarmony应用开发中的核心价值作为React Native&#xff08;RN&#xff09;开发者在OpenHarmony生态中的高频组件&#xff0c;List列表承载着90%以上的数据展示场景。不同于传统移动端开发&#xff0c;OpenHarmony的分布式特性给列表组件带来了新的技术挑战…

作者头像 李华
网站建设 2026/9/15 18:17:44

LoRaWAN路灯远程控制系统实战:从PWM调光到组播广播

在城区路灯这类“点多、线长、面广”的分布式场景里做远程控制&#xff0c;Wi-Fi覆盖成本太高&#xff0c;蜂窝网络虽然信号稳但每盏灯都要一张卡&#xff0c;长期运营下来模块费和流量费叠在一起&#xff0c;管个几百杆灯就先被通信成本压得抬不起头。用LoRa直接发指令&#x…

作者头像 李华