news 2026/9/15 19:52:48

抖音批量下载完整教程:如何用 douyin-downloader 批量保存无水印视频、图集、合集与音乐

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抖音批量下载完整教程:如何用 douyin-downloader 批量保存无水印视频、图集、合集与音乐

抖音批量下载完整教程:如何用 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 去重、浏览器兜底与直播录制,适合个人数据备份与素材收集的用户。

📋 核心功能清单

先用一张表过一遍这个抖音下载器能做什么。全部能力由一个 YAML 配置文件驱动,无需写代码:

能力说明
单条链接下载视频、图文、合集、音乐链接直接识别,v.douyin.com短链自动解析
主页批量下载六种模式:post发布作品 /like点赞作品 /mix合集 /music原声 /collect收藏夹 /collectmix收藏合集
无水印与画质选择优先取无水印源;video_quality可选最高转码档、原画探测或指定 1080p 等分辨率(匹配不到自动降级)
并发与限速默认 5 线程、2 请求/秒限速,失败按 1s/2s/5s 指数退避重试
双重去重SQLite 数据库记录 + 本地文件名检查,同一作品跨模式不重复下载
浏览器兜底post翻页受限时自动启动浏览器继续抓取,支持人工完成验证
扩展能力评论采集、直播录制、热搜榜快照、关键词搜索、REST API 服务、Bark/Telegram/Webhook 完成通知、OpenAI 语音转写

文件默认按Downloaded/作者名/模式/日期_标题_aweme_id/组织,视频、封面、音乐、JSON 元数据同目录存放,另生成download_manifest.jsonl清单,便于后续检索。

同一套后端还提供桌面版 Douzy(内测中,从项目 Releases 页获取):粘贴链接开下、同步关注列表、在任务中心管理多链接队列。

🚀 安装到首次运行:从依赖到第一次下载

1. 安装依赖

Python 3.9+ 环境,三条命令:

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

需要浏览器兜底或自动取 Cookie 时再装:

pip install playwright python -m playwright install chromium

2. 写配置

把 config.example.yml 复制为config.yml,改成最小配置即可:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 50 thread: 5 database: true

number为各模式的数量上限,0表示全量;更多字段含义见 README.zh-CN.md 的"关键配置项"。

3. 获取 Cookie

多数批量任务需要有效 Cookie。推荐用项目自带的自动脚本 tools/cookie_fetcher.py:

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

在弹出的浏览器里登录抖音,回终端按 Enter,Cookie 会自动写回配置。

4. 第一次下载

python run.py -c config.yml

常用命令行参数:

参数说明
-u, --url追加链接(可重复传),配合-c覆盖或补充配置
-t, --thread临时改并发数
-p, --path临时改下载目录
--hot-board [N]拉取抖音热搜榜导出 JSONL
--search 关键词关键词搜索,--search-max控制条数
--serveREST API 服务模式(需另装 fastapi + uvicorn)

🎯 典型场景:批量下载任务怎么写

场景一:博主内容归档

需求:把某博主的全部教程和合集存档,之后定期补新。

操作number写 0 表示全量,加上music可顺带保存其使用过的原声:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix - music number: post: 0 mix: 0 music: 0

效果:作品按post/mix/music子目录归类,文件名用作品发布日期 + 标题 + ID(非下载时间)。同一配置重跑时配合increase增量开关,只拉取新发布的内容。

场景二:账号收藏夹批量保存

需求:把自己账号里的收藏作品、收藏合集备份下来。

操作collect/collectmix只认当前 Cookie 对应账号,且必须单独使用,不能与post/like/mix/music混用:

link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collect number: collect: 0

效果:收藏内容进入collect/目录。桌面版里可以直接在"收藏与喜欢"页查看当前账号的收藏视频、收藏合集与喜欢列表,逐项发起下载。

场景三:直播录制(实验性)

需求:录一场重要的直播,不想手动切换录屏。

操作:链接指向直播间即可:

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

效果:FLV 文件与*_room.json房间快照保存在Downloaded/作者名/live/;主播下播、网络空闲或 Ctrl+C 中断时,已录制的字节都会保留。

🔧 进阶配置与常见坑

长期使用值得调整的几个开关:

  • 增量下载increase.post: true(like/mix/music 同理),必须同时database: true
  • 时间过滤start_time/end_timeYYYY-MM-DD),只拉取区间内发布的作品;
  • 画质控制video_quality: original会探测原片(每条作品多一次探测请求),highest是默认档,也可指定1080p等;
  • 完成通知notifications.providers配 Bark / Telegram / Webhook(企业微信、飞书、钉钉 bot 均可),单个通道失败不阻塞下载;
  • 评论采集comments.enabled: true后每个作品生成*_comments.jsoninclude_replies决定是否拉二级回复。

常见问题对照:

情况处理
只能抓到 20 条翻页风控。设browser_fallback.enabled: trueheadless: false,浏览器弹窗后手动完成验证,别立刻关窗
Cookie 失效重跑python -m tools.cookie_fetcher --config config.yml,有效期约 7 天
进度条刷屏确认progress.quiet_logs: true;调试时临时加-v
要重下某个作品删本地文件删数据库中对应aweme_id记录;只删库不删文件不会触发重下
查下载历史sqlite3 dy_downloader.dbaweme表,或翻download_manifest.jsonl

跑完批量任务后,可在桌面版任务中心查看每个任务的成功/失败计数,并对失败项重试:

🏗️ 模块划分与设计要点

项目按职责拆成八个包,I/O 全部走异步(aiohttp + aiosqlite),完整流程说明见 PROJECT_SUMMARY.md:

模块职责
cli/参数解析、主异步流程、Rich 进度条
core/API 客户端、URL 解析与各类下载器;模式策略采用工厂 + 策略模式,新增模式只需在user_modes/加一个策略文件
storage/文件命名与落盘、SQLite 数据库、元数据
auth/Cookie 与 MS Token 管理
control/限速、重试、并发队列
config/YAML 加载与环境变量覆盖(DOUYIN_前缀)
server/REST API 服务(提交任务、查询状态)
tools/浏览器自动获取 Cookie
tests/70+ 自动化用例,覆盖 API 客户端、去重、命名模板等

两个设计点值得一提:去重不依赖单一事实源,数据库记录与本地文件名各查一遍,任一侧都能挡住重复下载;下载过程做 Content-Length 完整性校验,残缺文件会自动清理并重试。相关设计文档见 docs/superpowers/specs/。

现在开始

如果你需要定期归档抖音内容,先用"安装到首次运行"一节的最小配置跑通一条链接,再按实际需求叠加增量、时间过滤与通知推送即可。请仅将本工具用于个人备份与学习交流,下载自己有权或已获授权的内容,遵守平台规则与当地法规;项目遵循 MIT License。

【免费下载链接】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 19:52:39

MATLAB粒子滤波实战:非线性非高斯状态估计与目标跟踪

简介:粒子滤波(SIR)算法是一种适用于非线性、非高斯系统的状态估计方法,常被用于目标跟踪、自主定位与传感器融合等场景。这份MATLAB实现资源面向需要入门或借鉴粒子滤波代码的研究者与工程师,专注粒子滤波跟踪流程&am…

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

银河麒麟V10 Server上QEMU双架构虚拟化稳定部署实战

1. 项目概述:在银河麒麟V10 Server上统一部署QEMU虚拟化能力,打通ARM与x86双架构底座我是在某省级政务云平台做国产化适配的工程师,过去三年里,光是给银河麒麟Kylin V10 Server(简称ky10 server)部署虚拟化…

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

RomM 前端 v2 组件体系指南:三层组件模型、约定与工程实践

RomM 前端 v2 组件体系指南:三层组件模型、约定与工程实践 【免费下载链接】romm A beautiful, powerful, self-hosted ROM manager and player. 项目地址: https://gitcode.com/GitHub_Trending/rom/romm 导读 RomM 是一个自托管的 ROM 管理器与游戏播放器…

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

微信小程序五子棋开发:从棋盘渲染到对局状态管理

简介:微信小程序双人五子棋项目实例,适合具备基础前端知识、想进阶小程序游戏开发的初学者与移动端爱好者。资源为完整可运行工程,解压后导入微信开发者工具即可直接体验双人对局。压缩包共10个文件,包含4个json配置文件&#xff…

作者头像 李华