开源工具实践:抖音批量下载的完整用法(视频、合集与直播录制)
【免费下载链接】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 是一个基于 Python 的开源命令行工具,定位是抖音批量下载与内容归档:按 YAML 配置抓取无水印视频、图集、合集与原声音乐,支持个人主页批量抓取、直播录制、SQLite 去重与指数退避重试,默认限速 2 次/秒,终端实时显示进度。下面按使用顺序讲三件事:主页作品怎么存、进行中的直播怎么录、Cookie 和分页风控怎么处理。
📥 批量下载个人主页作品
目标很直接:给定一个抖音主页链接,把作品按作者、日期落盘,重复运行不重复下载。
安装与首次运行
项目要求 Python 3.8+,clone 后装依赖、复制一份配置文件即可开始:
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.yml 里填link(主页链接)、mode: [post]、number.post(条数,0 为全部)和path,随后:
python run.py -c config.yml -p <保存目录> -t 5-u可临时追加链接,-p/-t覆盖目录与并发数,无需改动配置。
文件结构与去重规则
文件按Downloaded/<作者名>/post/<日期>_<标题>_aweme_id/组织,目录里是.mp4主文件与_cover.jpg、_music.mp3、_data.json等附属物;comments.enabled开启后多一个评论 JSON。已下载内容记入dy_downloader.db;increase.post: true则按磁盘检查——本地已有非空主文件就跳过,删掉文件会重新下载,两者互不干扰。
📡 录制进行中的直播
抖音直播下载走的是直播间接口:在link里填live.douyin.com/<直播间ID>,按需配置live段。max_duration_seconds: 0表示一直录到主播下播,idle_timeout_seconds决定断流多久后停止。
产物在Downloaded/<作者名>/live/下:一个.flv加一份*_room.json房间快照。断流、下播或 Ctrl+C 中断,已写入的字节都会保留。两点留意:录制在 README 中标为实验功能;HLS 源只存播放列表,要得到可播放文件需再过一遍 ffmpeg。
🔑 Cookie 失效与分页限制的处理
重新获取 Cookie
Cookie 过期是最常见的故障,表现为接口返回登录要求。重新运行获取器,在弹出的浏览器完成登录、回终端按回车,Cookie 自动写回 config.yml:
python -m tools.cookie_fetcher --config config.yml回退方案与一个已知限制
如果一条主页只翻到 20 条左右,是抖音的分页风控。把browser_fallback.enabled打开、headless保持 false,工具会用真实浏览器页面翻页,弹出验证码时手动通过即可(需先pip install playwright)。另一个事实:2026 年 8–9 月起,抖音边缘安全插件拦截了 CLI 对单条视频/笔记、合集、音乐、点赞与收藏接口的直连请求,主页翻页只剩浏览器回退一条路;这类场景目前更适合用同后端的 Douzy 桌面端。
🖥 常用参数与桌面端
参数速查
| 字段 | 作用 | 说明 |
|---|---|---|
mode | 主页内容范围 | post / like / mix / music;collect、collectmix 仅限登录态账号 |
number.* | 每种模式的下载条数 | 0 表示不限制 |
increase.* | 磁盘级增量 | true 时跳过本地已有的主文件 |
start_time/end_time | 按发布日期过滤 | 格式 YYYY-MM-DD |
thread/retry_times | 并发与重试 | 默认 5 并发、3 次重试 |
comments.enabled | 抓评论存 JSON | include_replies决定是否抓二级回复 |
browser_fallback.* | 浏览器回退 | 配合 playwright,用于分页被限时 |
完整字段见 config.example.yml 与 README.zh-CN.md。
Douzy 桌面端
同一后端还做了桌面应用 Douzy(Beta):粘贴链接开始下载,多链接排队、任务状态与重试都在界面上完成,且不受上文接口拦截影响。
任务中心里每条任务可展开成功/失败条数,并直接打开输出目录:
建议先用number限制条数小规模试跑,确认目录结构与 Cookie 正常后再放开全量;下载内容仅限个人学习使用,控制下载频率,避免触发风控。
【免费下载链接】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),仅供参考