news 2026/8/27 12:02:47

抖音视频批量下载入门:douyin-downloader 一步到位的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抖音视频批量下载入门:douyin-downloader 一步到位的完整指南

抖音视频批量下载入门: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

第二步,装好 Python 依赖(需要 Python 3.8 以上):

pip install -r requirements.txt

如果你后面想用"自动弹浏览器登录取 Cookie"的能力,顺手再装一个 Playwright:

pip install playwright && python -m playwright install chromium

第三步,建一份最小配置然后运行。项目自带模板,拷一份出来用:

cp config.example.yml config.yml

打开config.yml,把link换成单个视频链接来测试,这样最稳妥,能快速验证 Cookie 和网络都正常,别一上来就丢一个用户主页:

link: - https://www.douyin.com/video/1234567890123456789 path: ./Downloaded/

然后执行:

python DouYinCommand.py

程序会先打印本次下载配置,接着逐条推进度条,最后给出"下载完成,成功 N/N"的统计。已经下过的文件会直接标"跳过已存在",全程不用你干预。

看到最后那条成功统计,你的第一条无水印视频就到手了。

跑通之后:看清它到底能干什么

第一次跑通只是开胃菜。下面是这个工具的能力速查,一次看全:

项目内容
覆盖的内容类型视频、图文图集、合集、音乐原声、直播、直播回放
批量能力按用户主页整包抓取作品、点赞、合集、音乐,可多模式叠加
附带资源封面图、作者头像、JSON 元数据、背景音乐,可逐项开关
稳定性机制失败自动重试、SQLite 数据库去重、浏览器兜底接管
使用形态命令行脚本 + 桌面客户端 Douzy,两种形态本地免费用

它支持的链接类型也很直白,一一对应不同内容:

链接形态对应内容
https://www.douyin.com/video/xxxx单条视频
https://www.douyin.com/note/xxxx单条图文笔记
https://www.douyin.com/collection/xxxx单个合集
https://www.douyin.com/music/xxxx单条音乐原声
https://www.douyin.com/user/xxxx用户主页,可批量抓
https://live.douyin.com/xxxx直播间,可实时录制
https://webcast.amemv.com/reflow/xxxx直播回放

单条视频、图集、合集这类链接,工具会自动识别类型,你不需要额外指定模式。批量抓取多条内容时,进度条会像下面这样逐条推进到 100%:

登录态:动手前必须做的一件事

抖音的大部分内容都要登录才能看,所以 Cookie 配不好,后面全是白干。项目给了三条路,选一条就行:

  1. 自动获取(推荐)python cookie_extractor.py,工具会弹浏览器引导你完成登录,然后自动把 Cookie 写好;
  2. 手动粘贴:浏览器登录抖音后,从开发者工具里复制整串 Cookie,填进配置文件的cookies字段;
  3. 浏览器兜底:程序内置浏览器模式,接口受限时会自动接管请求,你只需要完成一次页面验证。

自动获取的详细步骤可以参考项目自带的 使用说明 一节。

记住一点:Cookie 有有效期。哪天突然大面积下载失败,第一个怀疑对象就是它过期了,重跑一遍自动获取流程基本就能恢复。

圈定下载范围:内容与数量

同样是用户主页链接,mode填得不同,抓回来的东西完全不同——这是配置里最核心的开关:

mode 取值抓取的内容
post该用户发布的作品
like该用户点赞过的作品
mix该用户创建的合集
music该用户相关的音乐原声

模式可以叠加,比如post + music就是作品和原声一起拿。数量上限和时间范围也能精确卡住:

配置项写法说明
number每个模式一个数字,0表示不限例如post: 50只抓最近 50 条
start_time/end_timeYYYY-MM-DD只抓这个日期区间内发布的内容
increase每个模式一个布尔值增量模式,只下载新出现的

配置项全览:一张表调完所有参数

常用参数就下面这些,对着改就行:

参数作用建议值
link要下载的链接列表,可多条按需填写
path文件保存根目录自定义一个目录
mode主页链接的下载模式组合post起步
number各模式的数量上限0= 不限制
thread并发线程数默认 5,网速好可加到 8
retry_times单条失败后的重试次数3 左右
max_per_second每秒最大请求数,压风控用的2~3
music/cover/avatar是否顺带下音频、封面、头像true
json是否保存元数据 JSONtrue
database是否启用数据库去重true
start_time/end_time按发布时间过滤留空不过滤
proxyHTTP/HTTPS 代理地址按网络环境填

database: true值得单独说一句:每条下载记录都会写进 SQLite 数据库,再和本地文件双重比对,下次运行自动跳过已存在的作品——这就是它能长期增量跑而不重复占磁盘的原因。

文件落在哪、名字怎么定

默认归档结构是"创作者 → 模式 → 日期_标题_ID",层级清楚,找东西不费劲:

Downloaded/ └── user_某位作者/ └── post/ └── 2024-12-30_作品标题_aweme_id/ ├── video.mp4 # 无水印视频 ├── music.mp3 # 背景音乐 ├── cover.jpg # 封面 ├── avatar.jpg # 作者头像 └── metadata.json # 完整元数据

下载完成后的目录效果大致是这样,每条作品一个独立文件夹:

对命名有洁癖的话,用模板变量自定义文件夹名:

filename_template: "{date}_{title}_{id}"

可用变量一行说清:{date}发布日期、{title}标题、{id}作品 ID、{author}作者昵称、{author_id}作者 ID、{mode}下载模式,随便组合。

四套用即走的场景配方

配方一:整站备份一个创作者

场景:把某个博主的作品全集打包收入本地。一个主页链接 + 多模式 + 数量不封顶:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix - music number: post: 0 mix: 0 music: 0

配方二:直播实时录制

场景:整场直播想完整留档,不用开录屏软件。直接用命令行参数指向直播间:

python DouYinCommand.py -l https://live.douyin.com/123456789 -p ./Downloaded/

程序会拉出该直播间的全部清晰度,输入编号后把流地址打到终端;配合max_duration_seconds(最长录制时长,0 表示录到下播)和idle_timeout_seconds(空闲超时自动结束)两个参数,长直播也能安心挂着:

配方三:评论数据采集

场景:做内容分析,想把作品下的评论也一并收走:

comments: enabled: true include_replies: false # 是否包含二级回复 max_comments: 500 # 采集上限 page_size: 20

配方四:每天只补新增

场景:定时任务每天跑一遍,只拿新内容。开数据库去重 + 增量模式:

increase: post: true like: true database: true

旧作品全部自动跳过,硬盘只增不重。

让长任务不翻车

批量任务跑得久,最怕中途崩掉白跑一趟。下面这一组参数是防翻车组合拳,一次配好:

thread: 8 # 网好可以适度调高并发 retry_times: 3 # 单条失败自动重试 max_per_second: 2 # 控住请求频率,压风控概率 proxy: "http://127.0.0.1:7890" # 需要代理时填 browser_fallback: enabled: true # API 受限时切浏览器兜底 headless: false max_scrolls: 240 idle_rounds: 8 wait_timeout_seconds: 600

翻到后面几页触发风控时,浏览器兜底会弹出一个真实浏览器窗口,你手动过一次验证,任务就接着跑。任务结束后还可以把结果推到手机,跑批量的时候不用盯终端:

notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY

不想敲命令?用桌面版 Douzy

命令行适合脚本化定时跑,但日常零散下载更顺手的是桌面客户端 Douzy,同样是本地免费使用。它把四件事都做成了可视化:

  • 链接自动识别:粘贴主页或单条链接,自动检测内容类型,勾选"作品 / 喜欢 / 合集"就能开下;
  • 任务中心统一调度:所有任务集中管理,进行中、成功、失败一目了然,支持一键打开目录;
  • 作品档案检索:历史下载记录进本地数据库后,可按博主、关键词、类型、时间范围多维筛选,还能一键"下载最新作品";
  • 实时事件流:每个任务从解析链接、排队到处理完成,每一步状态都有日志,卡在哪一步一看便知。

每条作品的下载明细(视频、头像、音乐、封面、元数据齐不齐)在任务详情里也能逐件核对:

出问题就查这里

为什么批量下载只拿到 20 条左右就停了?这是抖音的翻页限制在拦你。把browser_fallback打开,弹窗时手动过一次验证,就能继续往下抓。

怎么某天突然全部下不动了?最大嫌疑是 Cookie 过期。它是有寿命的,重新跑一次python cookie_extractor.py一般立刻恢复。

想翻一下之前都下过什么?直接查数据库最快:

sqlite3 data.db "SELECT aweme_id, title, author_name, datetime(download_time, 'unixepoch', 'localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"

某条作品想重新下载一遍怎么办?数据库记录和本地文件两边都要清,缺一边都不行:

sqlite3 data.db "DELETE FROM aweme WHERE aweme_id = '作品ID';"

再删掉对应目录,重新运行即可。

下载速度太慢,怎么提速?按顺序试三件事:加thread并发、放宽max_per_second、必要时挂代理。注意小步慢加,一步拉满容易触发风控,反而更慢。

收尾

一句话定位:douyin-downloader 就是把"保存抖音内容"这件琐事做成了一条命令的自动化流水线——链接 + 配置,剩下的交给它。

给你三条马上能用的建议:

  1. 先用单条视频链接把 Cookie 和网络验证掉,再放大到批量任务;
  2. 给不同用途各建一份配置文件,比如"日常收藏"和"完整备份"分开维护;
  3. 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 12:02:45

90%的开发者都不知道的UI本质原理和优化方式

前言 很多开发者在工作中一直和UI打交道,所以认为UI非常的简单! 事实上对于90%的开发者来说,不知道UI的本质原理。 虽然在开发中,我们在接到产品的UI需求之后,可以走捷径照抄大型APP代码,但是copy来的代…

作者头像 李华
网站建设 2026/8/27 12:01:12

程序员为什么越老贬值的越厉害?

工具都是越老越贬值的。 什么是工具?你在家用的电脑是工具,空调是工具,纸笔墨水是工具,甚至桌子椅子也都是工具。 工具有什么特点? 工具的特点就是刚买来都很好用,但是越用越贬值。因为工具是不会成长的&am…

作者头像 李华
网站建设 2026/8/27 11:56:00

AI GPU选型:NVIDIA vs AMD,成本效率差距背后的生态真相

这两年关于 GPU 选型有一个话题被反复拿出来讨论:NVIDIA 和 AMD,到底谁更划算?如果只看硬件发布会的纸面参数,AMD 的显存容量、FP16 算力、甚至每 GFLOP 的采购成本,很多时候并不输给同代 NVIDIA 产品。但真到实际部署…

作者头像 李华