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
一个个手动保存视频:点开、等加载、长按、存储。一个创作者主页的 100 条作品要耗 2~3 小时,中途刷掉一条还得重来。Douyin Downloader 就是为这件事做的:一个 Python 写的抖音批量下载工具,把创作者主页、图集、合集、音乐一次拉齐,无水印落盘。
📌 Douyin Downloader 项目速览
Douyin Downloader 是一个用 Python + YAML 配置驱动的抖音内容收集工具,丢给它一个链接,剩下的解析、下载、归档、记录全由它完成。
- 批量下载:单视频、图文、合集、音乐、整个创作者主页
- 去水印 + 画质选择:默认无水印源,可选最高码率或探测原片
- SQLite 记录 + 增量下载,老作品不重复拉
- 浏览器兜底:翻页被风控时自动开浏览器,人工过验证码
- 附加工具:直播录制、评论采集、关键词搜索、REST API
桌面版 Douzy 界面:粘贴抖音链接,点一下就开始下载
🚀 5分钟上手:抖音批量下载从克隆到跑通
先装好环境,三条命令搞定:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第一条拉源码,第二条进目录,第三条装全部依赖。
批量抓取靠 Cookie,工具自带自动获取脚本——弹出浏览器登录一次,Cookie 自动写回配置:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml然后cp config.example.yml config.yml,把配置改成下面这样(Cookie 已由脚本写入,保留别动):
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 换成目标创作者主页链接 path: ./Downloaded/ mode: - post number: post: 50最后跑起来:
python run.py -c config.yml进度条铺满终端,跑完Downloaded/下就有按作者命名的目录,每条作品一个文件夹。做完这几步,你就能看到结果。
⚙️ 核心能力拆解:批量下载、去水印与去重
一份配置拉空创作者主页
主页批量下载是核心场景,mode字段决定拉什么:post发布作品、like喜欢作品、mix合集、music音乐。多模式可以一次开,同一个作品跨模式不会重复下载。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like - mix number: post: 100 # 拉 100 条最新发布 like: 50 mix: 0 # 0 表示不限量文件按"作者 / 模式 / 单条作品"三级目录落盘,元数据、封面、音乐跟着存,随时好翻。
SQLite 记录 + 增量下载
同一份配置第二次跑会怎样?increase说了算:主文件已在磁盘上,跳过;文件丢了但数据库有记录,重新补下来。
increase: post: true # 下载过的作品直接跳过判定基于"本地文件 + 数据库记录"双重检查,重跑就是真增量,适合挂在定时任务里每天补一次。
去水印与画质选择
默认走无水印源,video_quality字段控制画质:highest在转码档位里挑最高码率;original会多探测一次上传原片,比转码档大就直接拉原片。
video_quality: original # 或 highest / 1080p / 720p / lowestlowest省流量,写1080p这种分辨率匹配不到时自动降级到最近的可用档。
抖音评论采集
想看作品下的舆情?打开comments,每条作品旁边多一个*_comments.json。
comments: enabled: true include_replies: true # 顺带抓二级回复 max_comments: 500 # 单条作品评论上限评论文本、点赞数、时间全在 JSON 里,直接丢进情感分析流程。注意include_replies: true会翻倍 API 调用量。
浏览器兜底抗风控
抖音批量下载最常见的卡点:只拉出 20 条,再往下就是风控。browser_fallback就是为此设计的——自动弹出浏览器,你人工完成验证码,页面自动滚动收集作品 ID。
browser_fallback: enabled: true headless: false # 显示窗口,方便人工过验证 max_scrolls: 240目前post模式验证最完整,其他模式仍走 API 翻页。
关键词搜索与热搜榜
不想拉主页、想按话题拉?两条命令直接出结构化 JSONL:
python run.py --search "AI" --search-max 100 -p ./Downloaded python run.py --hot-board 30 -p ./Downloaded输出含视频信息、作者、互动数据,一行一条,pandas 或 Excel 直接读。
🎯 三个实战场景
创作者:竞品素材收集
需求:收集 3 个竞品账号近一年的内容,分析选题节奏。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 竞品 A - https://www.douyin.com/user/MS4wLjABAAAAyyyy # 竞品 B mode: [post] start_time: "2026-01-01" number: post: 100时间过滤只留 2026 年以后的作品,产出是按创作者分目录的素材库,每条作品带视频和元数据(发布时间、点赞、评论),一周的竞品动向一夜落盘。
运营:账号监控 + 评论采集
需求:每周拉自己账号的新作品和评论,看用户反馈。
mode: - post increase: post: true # 每周只补新作品 comments: enabled: true max_comments: 500配合系统定时任务,每周一自动跑:新作品 + 每条评论前 500 条自动入库,跑几周就攒出一份持续增长的"用户反馈语料"。
研究者:关键词与热搜数据采集
需求:建一个话题数据集。
python run.py --search "城市规划" --search-max 1000 -p ./research_dataJSONL 里含作品 ID、标题、作者、点赞、评论、分享等字段,几行 Python 就能建表分析。
🔧 进阶玩法
抖音直播录制:
link填live.douyin.com/YOUR_ROOM_ID,自动以 FLV 落盘到Downloaded/{作者}/live/。主播下播、网络中断或你 Ctrl+C,已录的字节都会保留;live.max_duration_seconds: 0表示录到主播下播。音频转写:
transcript.enabled: true后,每条视频下载完自动调 OpenAI Transcriptions API 生成.transcript.txt,密钥从环境变量OPENAI_API_KEY读取,只对视频生效。完成通知:
notifications段接 Bark / Telegram / Webhook,下载跑完手机秒级收到推送,某个渠道挂了也不阻塞下载主流程。REST API 服务:两行命令把它变成服务,嵌入自动化流水线:
pip install fastapi uvicorn python run.py --serve --serve-port 8000POST /api/v1/download提交任务,GET /api/v1/jobs/{job_id}查状态。仓库里也带了 Dockerfile,docker build一行容器化。更多参数看 config.example.yml 里的字段注释。
❓ 避坑指南:高频 5 问
现象:只拉出 20 条左右原因:平台风控限制了翻页,不是工具坏了,别慌。 解决:开浏览器兜底,弹窗里人工完成验证码:
browser_fallback: enabled: true headless: false浏览器窗口别急着关,等它滚动收集完再关。
现象:请求持续失败 / Cookie 失效原因:Cookie 有有效期,用一段时间就会过期。 解决:重新跑获取脚本,全程约 1 分钟:
python -m tools.cookie_fetcher --config config.yml现象:某条作品不重新下载原因:"本地文件 + 数据库记录"双重检查,任一存在就跳过。 解决:强制重下要两边都清——删本地文件夹,再删数据库记录:
sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = 'YOUR_AWEME_ID';"现象:转写文件没生成原因:转写只对视频生效,图文作品不触发。 解决:按顺序查——transcript.enabled是否为true、下载的是不是视频、OPENAI_API_KEY是否有效。
现象:进度日志太吵原因:默认progress.quiet_logs: true是安静模式,日志少是正常表现。 解决:调试时加-v参数临时看详细日志即可。
🖥️ 命令行 vs Douzy 桌面版:怎么选
Douyin Downloader 有两种形态:命令行版,和基于同一后端的桌面应用 Douzy。
Douzy 任务中心:每个下载任务的状态一目了然,失败的可以一键重试
| 对比项 | 命令行版 | Douzy 桌面版 |
|---|---|---|
| 配置方式 | YAML 文件 + 命令行参数 | 图形化界面 |
| 批量操作 | 配置文件 + 追加参数 | 多链接队列 |
| 账号内容 | 手动贴主页链接 | 自动同步关注 / 收藏 / 喜欢 |
| 任务管理 | 进度条 + 数据库 | 任务中心,可重试、可归档 |
| 一句话选择 | 脚本化、定时任务、服务器部署 | 粘贴即用、零终端门槛 |
从 1 个视频到 1 万条素材库,Douyin Downloader 把重复劳动都替你干了。现在去克隆一份,5 分钟后跑通你的第一次抖音批量下载。
【免费下载链接】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),仅供参考