三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

抖音无水印批量下载器完整实战指南

抖音无水印批量下载器完整实战指南

抖音无水印批量下载器完整实战指南

【免费下载链接】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 就是这样一款面向该场景的抖音批量下载器:免费开源,支持视频、图集、合集、音乐(原声)的去水印下载,并内置进度展示、失败重试、SQLite 去重与浏览器兜底等工程化能力,一条命令就能把整个主页搬回本地。

当收藏夹越攒越多,本地却一个都留不下

大多数人的抖音使用路径是这样的:刷到好内容先点收藏,想着"以后再看",结果收藏夹越来越长,真正需要时却找不到、下不了、保存还带水印。

  • 单条保存效率低:复制链接、打开网页、逐条下载,几十条作品耗时以小时计;
  • 内容形态分散:视频、图集、合集、音乐原声各有各的入口,没有统一抓手;
  • 重复下载浪费空间:同一作者反复抓取,旧文件与新文件混在一起难以识别。

下载器要解决的正是这三件事:批量去水印不重复

一句话认识 douyin-downloader

douyin-downloader 是一个面向实用场景的抖音内容下载工具:把链接(或作者主页)喂给它,它会自动完成无水印源挑选、最高画质匹配、断点续传与失败重试,最终按"作者/作品/日期"的目录结构落到本地磁盘。

它不只是一个"下载脚本",还自带一套完整的工程化配套:SQLite 数据库记录下载历史、本地文件双重去重、限速与并发控制,甚至能在翻页被风控时拉起浏览器人工过验证码。

核心能力速览:支持哪些内容与模式

内容类型链接形态说明
单个视频/video/{id}、短链v.douyin.com自动选无水印源
单个图集/note/{id}/gallery/{id}图片批量落盘
单个合集/collection/{id}/mix/{id}按合集整体下载
单个音乐/music/{id}优先原声文件
作者主页批量/user/{sec_uid}mode: post/like/mix/music
收藏夹/user/self?showTab=favorite_collectioncollect/collectmix
直播录制live.douyin.com/{room_id}FLV/HLS,下播保留已录数据

配合能力还包括:最高清自动挑选(基于bit_rate数组)、热搜榜与关键词搜索导出 JSONL、下载完成通知推送(Bark/Telegram/Webhook)、视频转写,以及可选的 REST API 服务模式。源码均可在项目的douyin-downloader/core/douyin-downloader/cli/目录下查到对应实现。

三步跑通第一个下载任务:环境、Cookie、命令

第一步:克隆项目并安装依赖。需要 Python 3.8+,三条命令即可:

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

第二步:准备 Cookie。Cookie 是访问抖音 API 的凭证,推荐用项目自带的自动获取工具,登录后回到终端按 Enter,程序会自动写回配置:

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

第三步:运行下载。最小可用的配置文件只需指定链接、保存路径与模式:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post thread: 5 retry_times: 3

然后执行:

python run.py -c config.yml

也支持命令行直接追加链接、调整并发与保存目录:python run.py -c config.yml -u "视频链接" -t 8 -p ./Downloaded。到这里,第一个无水印视频已经在路上了。

进阶玩法:SQLite 去重 + 增量下载,长期收藏不重复

对于长期使用的人来说,最值钱的功能不是"能下载",而是"不重复下载"。项目通过数据库记录 + 本地文件双重检查实现去重:SQLite 里登记每个aweme_id,同时扫描文件名中的 ID 兜底判断,两者任一命中即跳过。

配合increase增量开关,可以做到"只补新作品":

database: true increase: post: true

开启后,每次运行只会拉取数据库中没有的新作品。下图就是一次批量下载的进度界面——已经存在的文件被自动跳过,无需手动清理:

想确认下载历史,可以直接查库:

sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"

这套机制让工具越用越"轻":首次全量抓取后,日常只需几秒完成增量同步。

真实效果示意:一位博主主页的批量抓取

以一个具体场景说明价值(数据为示意)。某位博主主页有 259 个作品,手动逐条下载按每条 1 分钟估算,全程接近 4 小时;而使用本工具单次运行即可完成多资源并行下载——视频、封面、音乐、头像同时抓取,进度条实时可见:

下载完成后,所有文件按"作者 → 模式 → 日期_标题_ID"自动归类,每个作品一个独立文件夹,视频、封面、音频、元数据 JSON 各归其位,查找与备份都一目了然:

同样的操作对图集、合集、音乐模式同样成立,只需把链接换成对应类型、把mode换成目标模式即可。

避坑指南:翻页风控、Cookie 失效与常见限制

只能抓到 20 条作品?这是翻页风控的典型表现。确认browser_fallback.enabled: trueheadless: false,浏览器弹窗出现后手动完成验证,不要立即关窗。

Cookie 失效?重新执行python -m tools.cookie_fetcher --config config.yml即可刷新,定期更新是保持工具可用的关键。

模式混用限制:

  • collect/collectmix仅支持当前登录 Cookie 对应账号,且必须单独使用,不能与post/like/mix/music混用;
  • increase增量目前只覆盖post/like/mix/music,收藏夹模式不支持增量截断;
  • 直播 HLS 源只保存 playlist 文件,需要自行用 ffmpeg 后处理;FLV 则可直接播放。

想要重新下载某条内容?只删文件不删数据库会触发重新下载(有记录但文件缺失视为需重下),只删数据库不删文件则不会——程序靠文件名里的 ID 去重。需要两个都清理才稳妥。

适合谁用?以及如何开启你的批量下载之旅

douyin-downloader 的适用人群很清晰:

  • 内容创作者:保存灵感来源,离线拆解优秀作品的结构与节奏;
  • 数据分析爱好者:利用热搜榜与关键词搜索导出 JSONL,配合评论采集做内容分析;
  • 普通用户:把喜欢的主播主页完整存档,直播回放也能录制留存。

它用数据库、重试、完整性校验这些"工程思维"把下载这件小事做扎实,免费、开源、可查证。下一步很简单:克隆项目,按上文三步跑通一次下载,再打开config.example.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),仅供参考

← 返回列表