抖音无水印下载工具 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 是一个命令行驱动的抖音无水印下载工具,支持视频、图集、合集、音乐(原声)四类内容,既能下单条链接,也能按模式批量抓取某位创作者的主页作品,并内置并发限速、失败重试、SQLite 去重记录与浏览器兜底机制,适合需要长期、批量整理抖音素材的普通用户和创作者。
先看清问题:手工保存抖音内容难在哪
想把一条抖音视频存到本地,录屏会带水印,第三方在线解析站则普遍压画质、限速,且一次只能处理一条。当你想收集某位博主的全部作品时,更得逐条复制粘贴、手动保存,重复劳动巨大。douyin-downloader 的思路是:直接请求抖音服务端接口拿到无水印源地址,用本地 Python 脚本完成"解析链接 → 抓取 → 落盘"的整条链路,把批量与去重交给程序处理。
3 分钟上手:抖音批量下载最小配置
以下四条命令即可跑通(要求 Python 3.8+,支持 macOS / Linux / Windows):
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml克隆仓库并安装依赖后,把config.example.yml复制为config.yml,所有参数(链接、目录、线程数、Cookie 等)都写在这个文件里,配置示例可直接参考 config.example.yml。
抖音接口需要登录态,Cookie 建议用自动方式获取:
python -m tools.cookie_fetcher --config config.yml命令会打开浏览器,扫码登录抖音后回到终端按回车,Cookie 自动写入配置文件,无需手工复制。最后在config.yml的link里粘贴要下载的链接,执行python run.py -c config.yml即可开始下载。
核心能力:按需求组织你的下载任务
单条内容下载:视频、图集、合集、音乐全覆盖
把任意一条链接放进link即可,工具会自动识别链接类型:视频页(/video/)、图文笔记(/note/或/gallery/)、合集(/collection/)、音乐(/music/),以及v.douyin.com这类短链。视频会自动选择无水印源并在bit_rate档位里挑最高码率版本,音乐则优先拿直连音频。
批量下载设置:mode 与 number 控制抓取范围
主页批量下载由mode和number两个字段控制:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 发布作品;也可用 like / mix / music number: post: 50 # 每个模式的条数上限,0 表示不限制post(发布)、like(点赞)、mix(合集)、music(音乐)四种模式可叠加,同一视频跨模式不会重复下载。登录态下还能用collect/collectmix单独抓取收藏夹内容。thread(默认 5)控制并发,retry_times控制指数退避重试,start_time/end_time可按YYYY-MM-DD过滤发布时间,folderstyle: true会按"作者/模式/日期+标题"建目录,落盘结构清晰可查。
增量下载与去重:只下新增内容
increase开关按"磁盘已有文件"判断跳过,适合长期跟踪某个博主:
increase: post: true打开后,本地已存在的作品直接跳过,只下新增;删掉对应媒体文件下次运行会重新下载。同时database: true会把下载元数据记入dy_downloader.db(SQLite),既可做去重记录,也能用sqlite3随时查询下载历史。
三个典型场景
场景一:个人收藏爱好者存作品
谁会用:偶尔想保存一两条视频的人。怎么用:粘贴单条链接到link,folderstyle打开后文件自动按作者、日期归档,封面、背景音乐、JSON 元数据一并落盘。注意什么:单条下载依赖抖音的aweme/detail接口,该接口自 2026 年 9 月起对非浏览器请求有风控限制,CLI 直连可能失败,可改用桌面版 Douzy(同后端,见 README.md 的 Desktop App 一节)或开启browser_fallback浏览器兜底。
场景二:创作者收集同领域素材
谁会用:需要持续追踪同行内容的短视频创作者。怎么用:mode设post,配合start_time/end_time圈定时间段,increase打开后每天跑一次只下新增;number.post设为 0 表示全量。注意什么:批量请求默认 2 次/秒限速,建议保持默认线程数,避免触发风控后反而更慢。
场景三:热点监控与关键词采集
谁会用:做内容选题、舆情分析的人。怎么用:不下载媒体,直接导出结构化数据——python run.py --hot-board 30导出热榜 Top30 到 JSONL,python run.py --search "关键词" --search-max 100导出搜索结果清单,再基于清单里的链接决定下载哪些。注意什么:搜索结果默认上限 50 条,需要更多时调大--search-max。
FAQ:抖音无水印下载常见故障排查
只下载到约 20 条就停了?(现象)主页翻页在 20 条附近被风控截断是常见行为。确认browser_fallback.enabled: true且headless: false,在弹出的浏览器窗口里手动完成人机验证,并保持窗口不要过早关闭。
Cookie 过期导致请求全部失败?(现象)登录态失效后接口会直接拒绝。重新运行python -m tools.cookie_fetcher --config config.yml刷新即可,Cookie 管理逻辑见 auth/cookie_manager.py。
删了文件想强制重新下载,却只删了一处没生效?(现象)跳过判断是"数据库记录 + 本地文件"双重检查:只删数据库、文件还在,不会重下;只删文件、记录还在,会重下。要彻底重置某位作者的内容,需要同时删除其下载目录和数据库记录,README 的 Re-downloading Content 一节有现成命令。
下载过程日志刷屏、进度条抖动?(现象)默认progress.quiet_logs: true已压制进度阶段的日志;若临时调试,可加-v或--show-warnings查看完整日志。
写在最后
douyin-downloader 把"解析、抓取、归档、去重"收进一份 YAML 配置,单条收藏到主页全量采集都能覆盖,是命令行党批量管理抖音素材的实用选择。详细字段说明见 README.md,架构设计见 PROJECT_SUMMARY.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),仅供参考