☰
抖音无水印下载工具 douyin-downloader 完整使用指南:一个主页链接批量采集全部作品
2026/10/13 3:06:04 网站建设 项目流程

抖音无水印下载工具 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

从"手动存图式"收藏,到挂机式批量归档

想象一下这个场景:你盯上某位创作者已经半年了,他每周稳定更新,你早就想把他全部内容存到本地硬盘。于是你打开他的主页,点进每条作品、截图保存封面、再想办法把视频抠出来——干到第 20 条的时候,手酸了,进度条还停在 15%。

其实这件事完全可以交给程序。开源项目douyin-downloader就是一个命令行优先的抖音无水印下载工具:直接对接抖音接口抓取原始视频文件,跳过水印版本,按码率自动挑最高画质;一个作者主页链接进去,作品、合集、音乐、点赞列表可以批量拉出来,配合 SQLite 去重,断点之后接着跑也不会重复下载。

Douzy 桌面端:勾选「作品 / 喜欢 / 音乐」等批量任务类型后一键提交(CLI 用户可跳过桌面端,全部流程用终端完成)

先说清楚它替你省下的三笔账

  • 画质不再打折:抖音接口会为每条视频返回bit_rate多档码率,工具默认挑最高转码档;设置video_quality: original还会探测上传原片,比最高转码档大就直接下原片。
  • 一个链接顶一百次粘贴:mode支持post / like / mix / music / collect / collectmix六种模式自由组合,一个主页 URL 就能成批拉取,number里填0即全量。
  • 重复劳动归零:开启database后每条作品记入dy_downloader.db,再叠加increase增量开关,已下载过的内容直接跳过,中断重跑只补缺的那部分。

简单说:以前"收藏一个主页"是按小时计的工程,现在是一条命令的事。

能力拆解:按你的任务目标对号入座

不按功能清单罗列,直接按"你想干什么"分组,每组对应 config.example.yml 里真实存在的开关。

目标一:只存一条作品(最轻量的用法)

  • 粘贴即下:v.douyin.com/...短链、作品页、图文笔记链接都能直接解析,见 core/url_parser.py。
  • 画质可选:video_quality支持highest(默认)、original、lowest和1080p、720p等指定分辨率,匹配不到自动降级到最接近档位。
  • 附带产物按需开:默认只存视频本体;cover、music、avatar、json四个开关各自控制封面、原声、头像、元数据。

目标二:批量整理一个作者(主力用法)

  • 多模式组合:mode: [post, like, mix, music],各模式数量上限在number里单独设。
  • 时间圈选:start_time/end_time按YYYY-MM-DD圈定区间,只收这段时间的内容(结束日期含当天)。
  • 目录自动分层:folderstyle: true时按「作者 → 模式 → 日期_标题」建目录;命名可用filename_template自定义,变量见 utils/naming.py。
  • 增量跟踪:increase各项置true时跳过已下载项,适合长期盯一个高频更新的账号。

目标三:把下载能力变成数据源(进阶玩法)

  • 评论采集:comments.enabled: true后每个作品额外生成*_comments.json,include_replies决定是否带二级回复。
  • 热榜与搜索:python run.py --hot-board 30拉热搜榜前 30 条,python run.py --search "关键词" --search-max 50按关键词搜作品,结果都以 JSONL 落盘。
  • 直播录制:link指向live.douyin.com或/follow/live/链接时进入录制,live.max_duration_seconds: 0表示录到主播下播。
  • 语音转写:transcript.enabled: true后调用转写 API(默认gpt-4o-mini-transcribe)把视频语音转成txt/json文本,需要自备OPENAI_API_KEY。

实战:安装 → 配置 → 跑通第一次下载

整个路径四步,全部命令可以直接复制。

第 1 步:拉代码、装依赖

要求Python 3.9+(Windows / macOS / Linux 均可):

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

浏览器兜底(翻页验证时用)需要 Playwright,一并装上:

pip install playwright python -m playwright install chromium

第 2 步:复制配置,填好链接

cp config.example.yml config.yml

打开config.yml,把link换成目标作者的主页地址,其余按下面的最小集改:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 0 # 0 = 全量;填 50 就只下 50 条 thread: 5 # 并发下载线程数 video_quality: highest database: true # SQLite 去重,默认开启 increase: post: true # 跳过已下载内容

不想整段写的话,也可以只改config.example.yml里默认的post单模式——默认配置本身就能直接跑。

第 3 步:扫码获取登录态

抖音接口需要登录 Cookie。项目自带扫码工具,会拉起浏览器:

python -m tools.cookie_fetcher --config config.yml

在弹出的浏览器里完成抖音登录,回到终端回车,Cookie 会自动写回config.yml的cookies字段(见 tools/cookie_fetcher.py)。

第 4 步:执行下载

python run.py -c config.yml

终端里有进度条、成功/跳过/失败计数;中途Ctrl+C中断也没关系,已入库的作品下次自动跳过。想看详细日志加-v:

python run.py -c config.yml -v

跑完去Downloaded/里验收,结构大致长这样:

Downloaded/ └── 作者昵称/ └── post/ └── 2026-02-07_作品标题_73xxxx/ ├── 73xxxx.mp4 # 无水印视频 ├── cover.jpg # 开启 cover 后生成 └── 73xxxx.json # 开启 json 后生成

你的使用场景,对应哪种姿势

  • 只存一两条:别碰配置,临时链接直接走命令行追加参数,不落盘任何配置改动:

    python run.py -u "https://v.douyin.com/xxxx" -p ./Downloaded/
  • 长期追更:把mode扩成post + mix + music全开,increase全部保持true,再配一个计划任务定期执行python run.py -c config.yml,每次只补新增内容。挂机的话开启notifications,providers支持bark/telegram/webhook三种推送(配置样例见 config.example.yml 的注释块)。

  • 接入自动化:--serve一键启动 REST API 模式,先装依赖:

    pip install fastapi uvicorn python run.py --serve --serve-port 8000

    服务实现见 server/app.py,下载能力即可被你自己的脚本或小程序调用;想研究签名细节可以看 utils/xbogus.py 和 utils/abogus.py。

高频问题速查

Q1:Cookie 失效了,报错提示要登录?

重新跑一次扫码命令即可,登录态会覆盖写回配置:

python -m tools.cookie_fetcher --config config.yml

Q2:作品只抓到前二十几条就停了?

这是翻页触发了平台验证的常见表现。保持browser_fallback开着并切到可见窗口,验证出现时手动在浏览器里完成,别急着关:

browser_fallback: enabled: true headless: false max_scrolls: 240

Q3:想强制重下某条作品,但一直显示"跳过"?

跳过来自双重去重:数据库记录 + 本地文件检查。把increase.post临时改为false(强制重下并原子覆盖当前筛选范围),或删掉对应文件后配合redownload_missing_files: true让它补下。

Q4:下载慢,怎么调?

先看thread(默认 5 并发,普通机器降到 3 反而更稳),再看rate_limit(默认每秒 2 个请求的限速),网络高峰期可以在proxy里填代理错峰。三者都在 config.example.yml 中,改完即生效。

现在就可以跑起来

把config.example.yml复制一份、扫一次码、执行python run.py -c config.yml,你离"整个主页一键归档"就这三条命令的事。最后照例提醒一句:请只下载自己有权限访问或用于个人合理使用的内容,尊重创作者版权与平台规则,本工具不适用于商业传播。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询