从 10 小时手工搬运到一条命令:douyin-downloader 抖音批量下载工具实践指南
2026/9/16 21:29:19 网站建设 项目流程

从 10 小时手工搬运到一条命令: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 的抖音批量下载任务后,你手里不再是散落的 mp4,而是一个整理好的素材库:Downloaded/目录按「作者 / 模式 / 作品」分层,每个作品自带无水印视频、封面、背景音乐和一份 JSON 元数据(点赞数、评论数、发布时间、话题标签),根目录还有一行一条的download_manifest.jsonl清单,方便后续用脚本检索。它就是为「不想再手动一个个存」的人做的开源工具:运营做竞品监控、研究团队采样本、学生建素材库,都能用它把重复劳动挪出去。

Downloaded/ ├── download_manifest.jsonl # 下载清单,一行一条记录 └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── ..._aweme_id.mp4 # 无水印视频 ├── ..._cover.jpg # 封面 ├── ..._music.mp3 # 背景音乐 └── ..._data.json # 元数据

先算一笔账:手工存 50 条,和让工具跑 50 条

对比项手动逐条保存douyin-downloader 跑一次
时间(50 条作品)约 1.5 小时(开页、另存、改名)约 10 分钟,取决于网速与并发
人力全程盯着屏幕发起后可离开,结束后看汇总
产物一堆「视频001」命名的 mp4无水印视频 + 封面 + 音乐 + 元数据 + 清单
重复运行全量重下增量:只补新作品

说透一句话:它把「人肉搬运工」换成「定时任务」,你只负责给链接和定规则。

十分钟内装好环境并配出第一份任务

第一步:克隆仓库并安装依赖

工具是 Python 写的,运行前要把依赖装进当前环境:

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

如果你打算用浏览器兜底(翻页受限时自动切到真实浏览器滚动采集)或自动获取 Cookie,再补一句pip install playwrightpython -m playwright install chromium

第二步:拿到 Cookie 通行证

Cookie 是浏览凭据,相当于平台确认「你是已登录状态」的通行证,没有它接口不吐数据。项目给了三条路:配置里写cookies: auto让工具自动开浏览器引导登录(推荐,省心且不易填错);或者从浏览器开发者工具整串复制粘贴进配置;再或者按msTokenttwid等键值对逐字段填写。也可以单独跑一次python -m tools.cookie_fetcher --config config.yml,登录后回车,凭据自动写回配置。

第三步:写一份最小配置

配置文件是告诉工具「下哪个链接、下多少、用多快」的唯一入口。新建config.yml

link: - https://www.douyin.com/user/目标博主ID # 主页链接 path: ./Downloaded/ mode: - post # 下载该博主发布的全部作品 number: post: 50 # 最多 50 条,0 表示不限 thread: 5 # 并发数 retry_times: 3 # 单条失败重试次数 cookies: auto # 自动获取并刷新 Cookie

第四步:执行并观察进度

python run.py -c config.yml

命令行会实时刷新每个任务的进度条,跑完自动汇总成功 / 失败 / 跳过数量。看到结尾统计数字,第一次抖音批量下载就跑通了。

看懂能力边界:哪些抖音链接喂得进去

输入形态用途
/video/视频ID单条短视频,无水印优先
/note/图文ID图文笔记
/collection//mix/合集ID整个合集
/music/音乐ID使用该原声的所有作品
/user/主页ID主页批量下载,mode可选post/like/mix/music
v.douyin.com短链自动解析后按类型下载
live.douyin.com/直播间直播实时录制(FLV/HLS)
collect/collectmix模式当前登录账号的收藏夹内容,须单独使用,不能与其他模式混用

链接解析与下载器的装配逻辑在 core/ 里按类型自动匹配,你不需要手动指定下载器。识别不了的链接会明确报错并终止该任务,不会闷头跑空——这是它和「半吊子脚本」最大的差别:边界清晰。

直播也能录

live.douyin.com/房间号写进link,再配live段(如max_duration_seconds: 3600表示最长录 1 小时,0则录到主播下播),FLV 文件落在Downloaded/{作者}/live/下并附直播间元数据快照;下播或中断时已录的字节都会保留,不用人守着。

不想敲命令?还有图形化工作台

仓库附带桌面客户端 Douzy,共享同一套后端:粘贴抖音链接即可发起下载,任务中心里能看进度、重试失败项、一键打开目录。

用好三个进阶开关:增量、命名、限速

🔁增量同步:每天只追新帖适合谁:跑定时任务、做长期素材库或账号监控的人——博主更了 3 条,你不想把已有 100 条全重下一遍。 怎么配:开启数据库并给对应模式打开增量开关:

database: true # 用 SQLite 记录下载历史 increase: post: true # 只下载新增作品

收益:每下一条作品,它的aweme_id、作者、时间、路径就写进 storage/database.py 管理的数据库,再结合本地文件名双重去重;定时任务凌晨跑,旧的绝不动,带宽和磁盘都省下来。要强制重下某条,删掉本地文件即可(数据库有记录但文件缺失时视为需重新下载)。

🏷️命名模板与时间窗口:让文件按你的规则落地适合谁:重度归档用户、做年度盘点或时间段研究的人。 怎么配:filename_template支持{date}{title}{id}{author}{like_count}等变量组合,比如filename_template: "{like_count}赞_{date}_{title}_{id}"(模板必须含{id}防重名);folderstyle: true让每个作品独立子文件夹;author_dir: nickname_uid让作者目录既直观又不重名;start_time: "2024-01-01"end_time则只圈定时间段内的作品。 收益:日期取的是作品发布时间而非下载时间,隔半年备份,归档仍按时间线排列;配合number的数量上限,能精确圈定样本范围而不是全量拉取。

🎚️并发、重试与限速:给任务配一个安全节奏适合谁:批量大、网络波动多、容易被限频卡住的人。 怎么配:三个配置项直接控制节奏——thread(并发数,默认 5)、retry_times(默认 3 次,按 1s / 2s / 5s 指数退避)、rate_limit(请求频率,默认每秒 2 个请求,且带随机抖动)。 收益:网络一般时thread保持 5 左右最稳,盲目拉高并发反而更容易触发风控;被限速时优先降rate_limit而不是降并发。队列、限速、重试三个组件都在control/目录下,行为可预期。

起飞前检查单:常见翻车与对策

  • 🍪现象:接口返回未登录或风控提示。原因:Cookie 失效。对策:可交互环境下工具会检测登录态并自动开浏览器重新登录后重试;服务器定时任务这类非交互环境,手动重跑一次python -m tools.cookie_fetcher即可。
  • 📉现象:主页只能抓到 20 条左右。原因:接口翻页被风控截断。对策:确认browser_fallback.enabled: true,它会切到浏览器模式滚动采集作品 ID 再补全详情;headless: false时弹窗出现,手动完成验证再关。
  • ⏱️现象:个别作品下载失败。原因:作品被删、设为私密或网络中断。对策:工具默认跳过失败项跑完其余任务,日志里留有原因;加--verbose可看完整输出定位。
  • 📅现象:文件名日期不是今天。原因:命名优先取作品发布时间,字段缺失时才回退到当天日期并写日志告警,属预期行为而非 bug。
  • 🚦边界:本项目定位是个人学习、研究分析与内部资料整理,不适合商业性分发或侵权再传播。请保留默认的限速与并发上限,不要自行去掉限速逻辑去冲接口;下载内容注意标注来源,遵守平台内容协议。

今天就能动手的四步

  1. 克隆仓库装好依赖,用cookies: auto走通一次自动登录;
  2. 拿一个你关注博主的主页链接,跑通上面那份最小配置;
  3. 加上increase增量开关和start_time/end_time时间窗口,让任务只取你要的;
  4. 交给系统定时任务,每天早上起来看汇总。

四步之后你会发现,开头那个「按作者分好层、每条作品带全套元数据」的目录结构,已经替你把整理工作做完了——剩下的时间,留给真正需要动脑的部分。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询