news 2026/9/16 21:39:00

3条命令跑通抖音主页无水印批量下载|douyin-downloader 上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3条命令跑通抖音主页无水印批量下载|douyin-downloader 上手指南

3条命令跑通抖音主页无水印批量下载|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 是一个 Python 命令行工具,做抖音无水印批量下载:粘贴作品链接或博主主页,它自动选无水印最高码率源、并发下载、按目录结构整理文件并保存完整元数据。读完这篇指南,你能用 3 条命令完成安装并下出第一个视频,再配一条增量更新的主页批量工作流。

它是什么,给谁用

技术栈是纯 Python 3.8+,异步 I/O 基于 aiohttp + aiosqlite,YAML 配置驱动,限速、重试、去重全部内置。同一套后端还长出了一个叫 Douzy 的桌面版(内测中),贴链接点按钮就能下载。

典型使用者:

  • 内容创作者:把竞品主页的作品批量拉下来做拆解,替代逐条手动保存
  • 研究者:按时间窗抓作品,元数据随文件落盘,直接进分析流水线
  • 运营人员:给账号素材库每天自动补新,不重复下载旧内容
  • 工具开发者:用--serve跑成 REST 服务,把下载能力嵌进自己的系统

不想碰命令行时,桌面版也可以直接贴链接开始:

核心能力一览

能力一句话说明触发方式
无水印最高画质自动选无水印源,从 bit_rate 档位里取最高码率内置,无需配置
多模式批量post / like / mix / music 四种模式,0 表示全量配置mode
短链解析v.douyin.com短链、裸域名都能识别链接直接贴进link
SQLite 历史去重每个作品记元数据,数据库 + 本地文件双重判断跳过database: true
浏览器兜底API 翻页被风控时切浏览器滚动,支持手动过验证browser_fallback.enabled: true
评论采集按作品存一级评论(可含二级回复)为 jsoncomments.enabled: true

一个 YAML 管完所有行为。

3分钟跑通

先拉代码装依赖,需要 Python 3.8+:

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

这一步拉代码、装依赖。

再复制 配置模板 为 config.yml,然后跑一次浏览器登录自动抓 cookie:

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

这一步备配置、抓 cookie。

登录完成后回终端按回车,cookie 抓取脚本 会把 ttwid、msToken 等字段直接写回配置文件。接着在 config.yml 里只保留这几个关键字段:

link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ thread: 5 retry_times: 3

这一步填一条链接、几个字段。

最后跑一条命令:

python run.py -c config.yml

这一步开始下载。

一个完整工作流

只选一个最典型的场景:把某个博主主页的全部作品批量下完。

步骤 1,粘贴主页链接,modepostnumber.post: 0表示全量抓取:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post] number: post: 0

步骤 2,首次运行python run.py -c config.yml,5 线程并发,进度条实时显示成功/失败计数。

python run.py -c config.yml

步骤 3,运行中每个作品写入 SQLite 历史库 留档;单条失败会按 1s、2s、5s 指数退避重试 3 次,仍失败就跳过继续后面的。

步骤 4,第二天原样再跑一次命令即可,磁盘上已有的作品自动跳过,只补新增的 post。

跑完你手里有什么:

Downloaded/ └── 某博主/ └── post/ └── 2026-02-07_标题_aweme_id/ ├── 同名.mp4 (无水印正片) ├── 同名_cover.jpg (封面) ├── 同名_music.mp3 (原声音乐) ├── 同名_data.json (完整元数据) └── 同名_avatar.jpg (作者头像)

Downloaded/ 根目录还会多一个download_manifest.jsonl,按行记录本次所有作品的字段,方便接脚本做二次处理。同一批任务在桌面版任务中心里也是可视化的,成功失败、重试按钮一目了然:

进阶玩法

当你需要每天只抓博主的新作品、不重下旧内容时,把跳过判断显式切到磁盘存在性:

increase: post: true # 磁盘已有主媒体文件就跳过 thread: 8

设为true只看文件在不在;设false则重新下载并原子替换当前范围内的文件。

当你想录一场正在进行的直播、下播也不丢已录内容时,把直播链接交给录制器:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 录到主播下播

产出 FLV 文件和房间快照 json;主播下播、网络空闲超时或你 Ctrl+C,已录的部分都会保留成正式文件。

避坑指南

三个高频坑,提前说 ⚠️:

现象:主页下载卡在 20 条左右,翻页再也没数据。原因:翻页触发平台风控,API 不再返回新页。解法:配browser_fallback.enabled: trueheadless: false,弹窗里手动完成验证,别急着关窗口。

现象:所有任务直接报错或跳登录页,进度条不动。原因:cookie 里的 ttwid、msToken 过期了。解法python -m tools.cookie_fetcher --config config.yml重新登录一次,cookie 会自动写回配置。

现象:删了 dy_downloader.db 数据库,重跑却什么都不下。原因:程序先扫本地文件名判断已有作品,只删数据库仍算已下载。解法:把对应媒体文件一起删掉;单条重下时再顺手清掉它的数据库记录。

使用边界

  • 能做:单作品、图文、合集、音乐、主页四模式批量、直播录制、评论采集,优先选无水印源。
  • 不能做:collect / collectmix 只能抓当前 cookie 对应账号自己的收藏,私密作品下不了。
  • 内置保护:默认 2 req/s 限速、指数退避重试、下载做 Content-Length 完整性校验,失败自动清理残文件。

项目在 gitcode 上,克隆地址就是上文第一条命令里那个;出 bug 提建议直接去仓库 Issue 区留言。下一步建议:先用number.post: 5挑一个主页试跑,打开产出的_data.json看看元数据里有什么,再决定要不要把量拉满 📦

【免费下载链接】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/16 21:36:08

VS2022 从零配置 Qt6 开发环境:安装、插件与避坑完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 21:32:47

Wireshark抓包实战:过滤器、TCP重传、TLS解密与RTP还原

抓包这件事,说难不难,说简单也真容易翻车。我第一次打开 Wireshark 的时候,满屏花花绿绿的包在滚,脑子里只有一个念头:这玩意儿到底是给谁看的?后来踩了几次坑才回过味来——Wireshark 本身不是"分析工…

作者头像 李华
网站建设 2026/9/16 21:31:53

System Prompt泄露实战指南:从路径分析到防御与止损

system_prompts_leaks 这个词最近在圈子里被反复刷到,很多人把它当成一场“热闹的抓马”在看。但作为长期做 LLM 应用的人,我第一反应不是吃瓜,而是想起自己踩过的一个坑:某次内部 Agent 试运行,用户只是多问了一句“把…

作者头像 李华