一条配置上手抖音批量下载: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 做去重。
快速跑起来
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt接着复制一份配置并写入 Cookie。配置文件只有 config.example.yml 一份,改一行link:填入要下载的链接即可,其余保持默认:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.ymlCookie 脚本会打开浏览器,登录抖音后回到终端按 Enter,ttwid、odin_tt等字段自动写回配置。最后触发首次下载:
python run.py -c config.yml进度条滚动、Downloaded/目录下出现第一个作品文件夹,就算跑通了。
核心能力拆解
如何只保存一个视频、图文或合集?
链接类型由 core/url_parser.py 自动识别,不用手动声明。单条任务直接在命令行追加链接,连配置都不用改:
python run.py -u "https://www.douyin.com/video/7604129988555574538"/video/、/note/、/gallery/、/collection/、/music/五类链接和v.douyin.com短链都能解析。预期产出:Downloaded/作者名/下生成一个以{date}_{标题}_{aweme_id}命名的目录,默认只存视频本体;在配置里把cover、music、json设为true,才会多落封面、原声和元数据。
如何批量下载某位作者的完整作品并按时间过滤?
link:换成主页链接,mode: - post指定抓取发布作品,number.post控制条数(0 为全量):
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 start_time: 2026-08-01 end_time: 2026-08-31预期产出:每个作品一个子目录,文件名自带发布日期。like、mix、music模式可叠加,同一个 aweme_id 跨模式自动去重,不会重复下载。
如何只捡新作品?
增量下载依赖 SQLite 记录加本地文件双重检查,默认就是开着的:
increase: post: true database: true重复运行同一份配置,已存在的作品直接跳过,只下载新发布的部分。这也是它适合挂定时任务的基础。
如何录下直播间内容?
live.douyin.com/{room_id}链接会触发直播录制,FLV 可直接播放,主播下播、空闲超时或 Ctrl+C 中断时已录数据都会保留:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 = 录到主播下播产出在Downloaded/作者名/live/下,附带*_room.json直播间元数据快照。HLS 源只保存 playlist,需要再用 ffmpeg 后处理。
除了下载,还能抓哪些数据?
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded热搜榜和搜索结果各导出一份带时间戳的 JSONL;配置里开启comments.enabled: true后,每个作品旁会多生成一份*_comments.json(含可选二级回复)。
一条端到端实战工作流
以一个真实场景走完整流程:为研究某位创作者,保存其最近 50 条作品,再用元数据做发布节奏分析。
- 拿到链接:复制该作者的主页 URL。
- 改配置:
link:填主页链接,mode: - post,number.post: 50,另加一行json: true让每个作品落元数据。 - 触发下载:
python run.py -c config.yml -t 5,观察 Rich 进度条直到全部完成。 - 查看产出:
Downloaded/下生成download_manifest.jsonl全量清单;每个作品目录里是 mp4 加*_data.json(发布时间、点赞数、评论数等字段齐全)。 - 二次利用:用脚本遍历
*_data.json统计发布间隔、点赞分布,或叠加comments.enabled抓评论做词频分析,媒体与数据一次到位。
效率调优
thread: 5—— 默认 5 并发,网络不稳时降到 3,减少同时占用的连接retry_times: 3—— 按 1s/2s/5s 指数退避重试,批量任务不建议设 0rate_limit: 2—— 默认 2 请求/秒,压低触发风控的概率video_quality: highest—— 自动挑最高码率;要原画可设original,代价是每条作品多一次探测请求- 定时任务用 crontab 配合
increase即可实现每日自动捡新作品
踩坑速查
| 现象 | 常见原因 | 处理动作 |
|---|---|---|
| 只能抓到约 20 条作品 | 翻页触发风控 | 确认browser_fallback.enabled: true且headless: false,浏览器弹窗时手动过验证 |
| 下载失败,提示 Cookie 无效 | Cookie 过期 | 重跑python -m tools.cookie_fetcher --config config.yml |
| 重复运行却跳过了想重下的作品 | SQLite + 本地文件双重去重 | 删除含该 aweme_id 的作品目录,并删库中对应记录 |
| 进度区日志刷屏 | 日志未静默 | 确认progress.quiet_logs: true,仅调试时临时加-v |
| 没生成转写文件 | 开关未开或对象是图文 | 确认transcript.enabled: true、下载的是视频、API Key 有效 |
适合谁,以及从哪读起
它最适合需要存档创作者作品、建立个人媒体库或做内容数据采集的人,CLI 为主,也提供--serve的 REST API 服务模式。
- 入口脚本:run.py
- 默认配置定义:config/default_config.py
- 主页批量抓取策略:core/user_downloader.py
- 去重数据库:storage/database.py
下一步很简单:复制一份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),仅供参考