从 1 个到 1000 个:我用 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 之后才觉得省心的事。这个开源的抖音下载工具支持单个作品、作者主页批量下载、直播录制与评论采集,去水印、自动去重,一次就能拉取某位作者的上百个作品,视频、原声、封面、元数据一并落盘。
我认识一位接单的剪辑师,找素材全靠录屏:画质糊、带水印,网页工具一次只能下一条。后来一位他常参考的博主清空了主页,他一条都没留下来。多数人第一次想找抖音下载工具,大概都是类似的处境。下面按他的使用过程整理,你可以照着走一遍。
第一条链接变成本地文件,我只做了四件事
拿到工具后,最关心的是能不能马上用起来。环境准备其实就四条命令:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml这段命令负责克隆项目、安装依赖并生成配置文件。因为抖音需要登录态才能读取内容,还要获取 Cookie,项目提供了自动方式:
python -m tools.cookie_fetcher --config config.yml登录抖音后回到终端按回车,程序会把 Cookie 写入配置。随后编辑config.yml,最小配置只需几行:
link: - https://v.douyin.com/你的短链/ path: ./Downloaded/ thread: 5 # 并发下载数 music: true # 连原声一起保存 cover: true # 保存封面 json: true # 保存元数据运行python run.py -c config.yml,视频、封面、原声和元数据会按作者和日期整理到Downloaded/目录。第一次跑通时,进度条逐条刷新,已存在的文件会被标记跳过。
把作者的整页作品搬回硬盘
只下一条链接显然不够用。做运营的同事更关心批量:某个博主的全部作品,她想一次拿全。
做法是把主页链接放进link,再指定模式:
link: - https://www.douyin.com/user/作者主页sec_uid mode: - post number: post: 0 # 0 表示全量,也可填具体条数post是作品模式,另有like(点赞)、mix(合集)、music(音乐)可组合使用,同一作品在不同模式下自动去重。批量任务默认 5 线程并发,失败按 1s、2s、5s 退避重试,中断后重跑会从断点续传。
直播没看成,也能整场补录
批量之外还有个容易被忽略的用法:录制直播。错过直播想保留内容时,把直播间链接放进配置:
link: - https://live.douyin.com/直播间ID live: max_duration_seconds: 0 # 0 表示录到主播下播录制时程序会先列出可选的清晰度,再给出可用的流地址,录完的 FLV 保存在Downloaded/{作者}/live/下。主播下播、网络空闲或手动中断时,已录的字节都会被保留,不会白录。
每周追更,重复下载的问题这样解决
批量下过一次后,第二次运行会跳过已有文件,靠的是 SQLite 数据库和本地文件名双重去重。对追更场景,还能开启增量模式:
increase: post: true database: true这样每次只下载新增作品,配合start_time/end_time还能按时间过滤。下载完成的文件按"日期_标题_作品ID"建文件夹,视频、封面、原声、元数据放在一起,归档和检索都很直观:
这几个坑,我替你踩过了
- Cookie 过期导致下载失败:重新执行
python -m tools.cookie_fetcher --config config.yml刷新即可,这是最常遇到的一步。 - 主页只能抓到 20 条:通常是翻页风控,需开启浏览器兜底,设置
browser_fallback.enabled: true且headless: false,浏览器弹出后手动完成验证,不要急着关窗口。 - 进度条刷屏:默认
progress.quiet_logs: true会静默日志,调试时才临时加-v查看详情。 - 想重新下载某个作品:因为程序双重去重,需同时删掉本地对应文件夹和数据库记录,只删一边不会触发重下,完整命令见
README.zh-CN.md的"重新下载"一节。
三个最常被问到的问题
下载速度慢怎么调?普通宽带建议thread取 3-5;请求频率有内置限速(默认 2 请求/秒),遇到限制就调低。
下载完想收到通知?配置notifications可接入 Bark、Telegram 或 Webhook,任务成功或失败都会推送,适合挂机批量下载。
想以服务方式调用?运行python run.py --serve --serve-port 8000会启动 REST API,可提交下载任务、查询状态,方便与自己的脚本集成。
现在开始你的第一批下载
按这个顺序走一遍:克隆仓库、安装依赖、生成配置、获取 Cookie,从一条链接开始,跑通后再尝试主页批量。完整参数说明在USAGE.md,更细的配置项在config.example.yml,想研究实现可以看apiproxy/douyin/与douyin-downloader/core/目录。
专业提示:建议定期执行git pull获取更新;config.yml里的 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),仅供参考