抖音批量下载教程: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 是一款免费的开源抖音批量下载工具:粘贴视频链接或作者主页链接,它会自动保存无水印视频、封面、音乐与元数据到本地,内置去重、失败重试与实时进度条,也支持合集、原声与收藏夹的批量保存。
📁 先看结果:批量下载后本地生成什么
运行完成后,下载目录按「作者 → 内容类型 → 单作品」组织,每个作品独立成文件夹:
Downloaded/ ├── download_manifest.jsonl # 下载清单,记录本次任务所有产物 └── 作者昵称/ ├── post/ # 发布作品 │ └── 2024-02-07_作品标题_aweme_id/ │ ├── 作品标题_aweme_id.mp4 # 视频本体(无水印) │ ├── ..._cover.jpg # 封面 │ ├── ..._music.mp3 # 背景音乐/原声 │ ├── ..._data.json # 元数据 │ └── ..._avatar.jpg # 作者头像 ├── like/ # 点赞作品 ├── mix/ # 合集作品 └── music/ # 音乐作品一份作品可以拆出的资源包括:
- 视频本体(自动选无水印源,按码率挑最高清晰度)
- 封面图、背景音乐/原声、作者头像
- 元数据 JSON(标题、播放量、发布时间等)
- 可选:评论 JSON、视频转写文本
桌面端任务中心:每条批量下载任务的成功、失败数量与重试入口都集中在这里
核心能力:按用途分成三组
存内容
- 覆盖抖音主要内容形态:单个视频、图文、合集、音乐原声、用户主页作品、点赞列表、当前账号收藏夹
- 短链(
v.douyin.com)会自动展开,直接粘贴分享链接即可 - 除视频外,封面、音乐、头像、元数据均可独立开关,评论、转写按需开启
- 视频默认从 API 返回的码率列表中自动挑最高档,也可指定原画或固定分辨率
管进度
- Rich 实时进度条,批量任务中每个文件的下载状态都可见
- 失败按指数退避自动重试(默认 1s、2s、5s),不完整文件会校验 Content-Length 后清理重下
- SQLite 数据库 + 本地文件名双重去重,同一作品跨模式不会重复下载
increase增量模式只拉取新发布内容,配合数据库可反复跑同一份配置
控范围
mode指定内容类型(post / like / mix / music),number控制每种类型抓多少条,0 为全量start_time/end_time按发布日期过滤,例如只保留近半年的作品- 并发数、重试次数、代理均可配置,详见 config/default_config.py
抖音批量下载快速上手:四步完成
第 1 步:克隆仓库并安装依赖。工具基于 Python 3.8+,跨平台运行。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt第 2 步:获取 Cookie。这是唯一需要登录的环节,工具会拉起浏览器,登录抖音后回终端按 Enter 自动写入配置:
python -m tools.cookie_fetcher --config config.yml第 3 步:生成并编辑配置。复制示例配置,只改link、path、mode三项就能跑(完整字段注释见 config.example.yml):
link: - "https://www.douyin.com/user/作者sec_uid" path: "./Downloaded/" mode: - post第 4 步:启动批量下载。也可以不写配置,直接用-u传单条链接:
python run.py -c config.yml python run.py -u "https://www.douyin.com/user/作者sec_uid"桌面端(Douzy,内测中)同一套后端:粘贴视频、主页或合集链接即可开始下载
常用配置项速查表
| 配置项 | 作用 | 示例 |
|---|---|---|
mode | 选择内容类型,可多项 | post、like、mix、music |
number | 每种模式下载条数,0 为不限 | post: 50 |
start_time/end_time | 按发布日期过滤 | "2024-01-01" |
increase | 增量下载,跳过已保存作品 | post: true |
thread | 并发下载数 | 5 |
其余如video_quality(画质档位)、proxy(代理)、comments(评论采集)、transcript(视频转写)、browser_fallback等,全部在 config.example.yml 中有逐项注释,按需开启即可。
进阶技巧:兜底、推送与定时
浏览器兜底:翻页被风控时人工过验证
API 翻页经常只放行前 20 条。开启browser_fallback.enabled: true且headless: false后,工具会启动一个可见浏览器继续滚动加载,弹窗出现时手动完成验证即可,不要立即关闭窗口。注意该兜底目前仅对post模式完整验证。
完成通知:批量任务结束自动推送到手机
把notifications.enabled改为true,配置 Bark、Telegram 或 Webhook(企业微信/飞书/钉钉机器人同样可用):
notifications: enabled: true on_success: true on_failure: true providers: - type: telegram bot_token: "123456:ABC..." chat_id: "987654321"所有启用的推送通道并发执行,单个通道失败不影响下载主流程(实现见 utils/notifier.py)。适合跑整站主页这类长时间任务:人走开,完成时手机有提醒。
定时增量:把主页监控挂成每晚自动任务
increase: true+database: true意味着同一份配置反复运行时只补新作品。用 crontab 就能实现每周/每日自动存档:
0 3 * * 0 cd /path/to/douyin-downloader && python run.py -c config.yml高频问题避坑清单
- 只抓到 20 条作品:翻页被风控拦截。设置
browser_fallback.enabled: true、headless: false,浏览器弹窗中完成验证并稍等再关闭。 - 下载报错或作品列表为空:Cookie 已过期。重新执行
python -m tools.cookie_fetcher --config config.yml即可。 - 删了数据却触发不了重新下载:工具按数据库记录 + 本地文件名双重去重。删掉本地作品文件即可触发重下;官方建议是文件与数据库记录一起清理(详见 storage/database.py 对应表结构)。
- 下载速度偏慢:多为高峰时段或单线程排队。把
thread调到 3~5、避开高峰,必要时在proxy填入可用代理。 - 没生成转写文件:
transcript仅对视频生效且依赖 API 密钥。依次检查transcript.enabled、作品是否为视频、OPENAI_API_KEY是否有效。
适合谁用
- 内容创作者与运营:竞品主页素材收集、公司账号定期存档,命令行版最灵活,配合增量模式做周期监控。
- 开发者与自动化场景:支持
--serve以 REST API 服务运行,也提供 Dockerfile,方便接入现有流水线。 - 不常碰命令行的用户:桌面端 Douzy(内测中)基于同一套后端,粘贴链接即可下载,还能同步关注列表、按作者筛选新作品:
桌面端关注页:同步关注博主,标记有新作品的账号并直接发起下载
功能与已知限制的完整列表见 README.zh-CN.md,主页批量下载的核心逻辑在 core/user_downloader.py。工具请仅用于个人存档、研究与合法合规场景。
python run.py -c config.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),仅供参考