抖音视频批量下载:clone 后 4 条命令跑通,附 5 个实用配置
2026/8/25 19:09:24 网站建设 项目流程

抖音视频批量下载:clone 后 4 条命令跑通,附 5 个实用配置

【免费下载链接】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

凌晨一点,手机屏幕还亮着。你刷到当天的第 47 个视频,大拇指悬在保存按钮上,停了两秒,又缩回去了。不是不想存,是存完还得手动改名、拖进对应的文件夹,而分享短链过一会儿就失效。合集里 50 条视频摆在那,一条条存到完,兴致也早没了。这类"有空再整理",最后基本都是"永远不整理"。

它到底是什么:一个抖音视频批量下载工具

douyin-downloader 是一个抖音视频批量下载工具:把某个抖音主页上的视频、图文、合集、音乐搬到你的硬盘里,默认无水印。它不生产内容,也不做收藏页面,只管"下载 + 归档"这一件事。开源、MIT 协议,clone 命令在下一节。核心能力:

  • 批量抓取用户主页,post / like / mix / music 四种模式
  • 单个视频、图文、合集、音乐,短链自动解析
  • SQLite + 本地文件双重去重,增量下载只取新内容
  • 进度条、指数退避重试,API 翻页受限时切浏览器兜底过验证
  • 附带 GUI 版 Douzy(内测中),粘贴链接即可跑

命令行 4 条命令跑起来

把代码拉下来、装依赖,三行结束:

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 才能拉数据。自动获取脚本会弹出浏览器,手机扫码登录,回终端按 Enter 即可 ✅:

python -m tools.cookie_fetcher --config config.yml

此时 Cookie 已写进 config.yml。把要下载的链接粘到配置文件的 link 字段(主页、合集、单个视频链接都行),然后跑:

python run.py -c config.yml

终端里会出现逐条作品的进度条,每条的文件大小、耗时一目了然,完成的文件落在当前目录的 Downloaded/ 下,一个作品一个子目录,视频、封面、元数据都在里面。

项目还有 Douzy 桌面 GUI(内测中),同一套后端,粘贴链接选模式,不用碰配置文件;老版入口 DouYinCommand.py 直接运行也行,适合只下一两条的场景。

这 5 个配置项最值得改

配置文件不用背,最常用的是这几个:

  • 时间过滤:只想存某个阶段的内容,设start_time/end_time,例如 "2024-06-01" 到 "2024-08-31",区间外的作品直接跳过。
  • 增量下载:常刷的作者,设increase.post: true并保留database: true,第二次跑只拉新增,不重复劳动。
  • 并发数:网络环境一般时把thread从默认 5 降到 3,风控风险小,稳定性换一点速度。
  • 每作品独立目录folderstyle: true让每条作品自带子目录,配合music: truecover: truejson: true,音频、封面、元数据同目录放好。
  • 浏览器兜底:只抓到 20 条时,设browser_fallback.enabled: trueheadless: false,弹浏览器手动过验证后继续翻页。
start_time: "2024-06-01" end_time: "2024-08-31" increase: { post: true } thread: 3 folderstyle: true

这几项可以叠着用,互不冲突。Douzy 桌面版也有同样的参数,只是换成了表单。

我实际试过的 3 种组合

  • 时间范围 + 增量:旅行博主设了 6 月到 8 月的区间,首跑 200 多条,之后开着increase.post再跑,40 秒,只补了 3 条新的 ⬇️
  • 多链接 + 音乐模式:两个作者主页塞进 link,mode 只写 music,number.music: 0。结果没下一个视频文件,全是 MP3,按音乐分类进 music/ 目录。
  • 直播录制:live.douyin.com 的链接丢进去,live.max_duration_seconds 设 3600,主播下播自动停,目录里的 .flv 直接能播,不用后处理。

卡住了怎么办

  • 只抓到 20 条作品:翻页被风控掐住了。设browser_fallback.enabled: trueheadless: false,浏览器弹出后手动过验证码,别急着关窗口。
  • 请求突然报错、什么都拉不下来:Cookie 失效了。重跑python -m tools.cookie_fetcher --config config.yml更新即可。
  • 想重下某条作品却被跳过:工具用 SQLite 记录 + 本地文件双重核对。删掉该条对应的本地文件(文件名含 aweme_id),下次运行发现文件缺失就会重新下载。

代码大概怎么组织的

想改代码的话,看这几处:

  • core/url_parser.py:识别你贴的是哪类链接
  • core/downloader_factory.py:按链接类型分发到对应下载器
  • core/user_modes/:post / like / mix 各模式的策略类,加新内容类型从这里入手
  • storage/database.py:SQLite 去重和下载历史
  • storage/file_manager.py:目录结构和文件命名

读代码从 url_parser 开始就行,它是所有下载的入口。

边界:丑话说在前面

仅个人学习、归档、研究用途,不商用,不二次分发;别开高并发去压平台接口。config.yml 里的 Cookie 是个人凭证,别提交到公开仓库,也别发给别人。接口策略变了工具失效,是使用第三方工具的常态成本。

收尾

完整配置项表、输出目录结构、重下方法都在仓库根目录的 README.zh-CN.md 里;命名模板逻辑在 utils/naming.py;出 bug 直接提 issue。没了。

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

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

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

立即咨询