抖音视频批量下载零基础实操:免费开源工具douyin-downloader无水印指南

抖音视频批量下载零基础实操:免费开源工具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

500 条抖音视频,手动一条条保存少说要忙一整天;而用开源下载工具 douyin-downloader 跑一趟,往往十几分钟就能收工。它是一款免费的 Python 抖音下载工具,主打抖音视频批量下载与无水印下载,同时覆盖作者主页、合集、音乐原声、收藏夹等多种入口。下面沿着一次真实下载任务的时间线,从装环境讲到自动归档,逐步演示怎么上手。

第一步,把工具装进电脑:克隆、装依赖、准备登录凭据

打开终端,依次执行下面三行即可完成基础安装(要求 Python 3.8 及以上,macOS / Linux / Windows 通用):

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

装完依赖后,多数下载任务还需要登录凭据。项目对 Cookie 的处理很灵活,提供三种方式,按优先级从高到低:

  • 自动获取:在配置文件里写cookies: auto,前提是装好 Playwright(pip install playwright后执行playwright install chromium);
  • 整串粘贴:把浏览器里的 Cookie 字符串整段放进配置;
  • 键值分开填:把msTokenttwidodin_tt等字段逐一填进配置。

如果嫌手动找 Cookie 麻烦,也可以直接跑内置的登录工具,登录后回终端按一下回车,程序会自动把凭据写回配置:

python tools/cookie_fetcher.py --config config.yml

第二步,用五组配置跑通第一次批量下载

工具读的是 YAML 配置文件。先复制一份官方示例再改,能少踩很多坑:

cp config.example.yml config.yml

下面这份是最小可用配置,每一行都标了用途,照着填就行:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 要下载的链接,可写多个 path: ./Downloaded/ # 视频保存目录 mode: - post # 主页模式:作品 post / 喜欢 like number: post: 50 # 本批次最多抓 50 条 thread: 5 # 并发下载数 retry_times: 3 # 失败重试次数 database: true # 开启 SQLite 去重 cookies: auto # 登录凭据(三选一)

保存后启动下载:

python run.py -c config.yml

运行时会实时滚动进度条,谁在下载、谁已跳过、成功几条都一目了然。下图就是一次批量任务的实况,能清楚看到每个文件的处理状态和最终统计:

除了写配置文件,常用参数也能临时从命令行追加,比如指定保存目录、提高并发:

python run.py -c config.yml -p ./Downloaded -t 8

抖音合集下载、作者作品批量保存:一张入口清单

这是很多人最关心的部分:它到底能抓什么?答案是——只要你在抖音上能看到的内容,基本都能对应到一种下载模式:

想抓的内容填写入口对应模式
单条视频 / 单篇图文v.douyin.com短链、/video//note/链接自动识别,无需指定模式
某位作者的全部作品作者主页/user/{sec_uid}post(作品)、like(喜欢)
一个完整合集合集页/mix/{mix_id}mix
某首音乐的原声作品音乐页/music/{music_id}music
自己账号的收藏夹/user/self?showTab=favorite_collectioncollectcollectmix
正在进行的直播live.douyin.com/{room_id}直播录制

短链不用自己解析,工具会把v.douyin.com/...这类链接自动还原成真实地址再处理。合集批量下载时,命令行会先拉取合集下所有作品再逐个抓取,进度同样全程可见:

不同模式还能组合使用。比如一次任务里既下某博主的主页作品、又抓 TA 的喜欢列表,把mode写多行即可。

下载中断与翻页风控:工具内置的三层防线

批量下载最怕什么?跑到一半被平台拦截、或者某条链接死活抓不下来。douyin-downloader 把这层风险拆成了三道防线:

第一道:失败自动重试。每次请求失败后按 1 秒、2 秒、5 秒的间隔指数退避重试,次数由retry_times控制;下载中途断掉的半截文件也会被完整性校验识别出来,自动清理后重新下载。

第二道:请求节奏控制。默认每秒最多 2 个请求(rate_limit),配合可调并发数,从源头降低触发风控的概率。

第三道:浏览器兜底。当 API 翻页受限抓不全时,工具会启动浏览器模拟真实访问,并支持人工过验证码。这也是"只抓到 20 条就停"这类问题的主要解法——把下面两行保持默认开启即可:

browser_fallback: enabled: true headless: false # 弹出浏览器后,手动完成一次验证再放它跑

如果中途发现登录态失效,工具会尝试自动重新登录并续跑,不用你守在屏幕前。任务中心里每个任务的排队、解析、下载状态都记录得清清楚楚:

下载完成之后:去重、元数据与文件命名整理

下载完成不等于收工,整理环节才是数据资产化的开始。工具在这一步做了三件事:

双重去重,杜绝重复下载。一是 SQLite 数据库记录所有历史任务,二是下载前比对本地文件是否已存在(截图里那一排"跳过已存在"就是它)。二次运行同一批链接,命中已下载的会直接跳过,省时省流量。

元数据整包保存。除了无水印视频本体,每个作品还会顺带保存封面图、原声音乐、作者头像和一份 JSON 元数据;需要评论数据时,开启comments.enabled会额外生成*_comments.json。一套作品 = 一套完整数字档案,后续做分析、做剪辑都不用回平台补素材。

命名与目录可定制。文件名模板支持{date}{title}{author}{id}等变量组合,作者目录层可选"仅昵称 / 仅 sec_uid / 昵称_uid"三种策略。建议模板里至少保留{id},否则标题相同的视频会互相覆盖。效果就像下图这样,按"日期+标题"归档,翻找起来非常顺:

下载历史会沉淀在 SQLite 里,形成一份可检索的档案:按作者、标题关键词、发布时间筛选,还能看到"常看博主"并一键补下最新作品:

命名规则在设置里可视化调整,改完即生效,不用再手动改文件:

三份现成配置模板:创作者、研究团队与培训机构

同一个工具,不同人群用法差别很大。下面直接给三份可抄的配置。

内容创作者:多博主作品与点赞批量备份。把要跟的博主主页链接全部塞进link,一次跑完:

link: - https://www.douyin.com/user/博主A的sec_uid - https://www.douyin.com/user/博主B的sec_uid mode: - post - like number: post: 100 like: 50 thread: 6

这就是抖音作者作品批量保存的典型姿势——每天定时跑一次,等于自动给竞品库做增量备份。

研究团队:搜索 + 评论 + 时间过滤。需要按话题采集样本时,不用手填链接,直接让工具去搜:

python run.py --search "关键词" --search-max 500 -p ./样本数据/ python run.py --hot-board 30 -p ./样本数据/

搜索与热搜结果会落成 JSONL 文件,配合comments.enabled抓评论、用start_time/end_time限定发布窗口,原始语料、互动数据、时间字段一次凑齐,方便后续做定量分析。

培训机构:直播录制 + 合集归档 + 语音转写。线上讲座开播时挂一个录制任务,结束自动落盘:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 = 录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30

录制时会先列出可用清晰度供选择(下图是选码率的环节),生成 FLV 流并同步保存直播间信息到 JSON:

课程类的长视频还能叠加transcript转写,把语音自动转成文稿,建题库、做字幕都省事了。

进阶自动化:定时任务、完成通知与 REST API

配置好一次之后,完全可以无人值守。

定时触发。Linux / macOS 用 crontab,每天凌晨自动补增量:

0 2 * * * cd /路径/douyin-downloader && python run.py -c config.yml >> download.log 2>&1

Windows 则用"任务计划程序"挂一条同样的命令即可。

完成通知。下载结束想把结果推给自己,notifications支持 Bark、Telegram、企业微信 Webhook 三种渠道,成功失败都能单独开关:

notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/你的设备密钥

REST API 服务模式。想把它集成进自己的系统,装好fastapiuvicorn后直接以服务方式运行:

python run.py --serve --serve-port 8000

对外暴露下载接口,外部系统按任务提交链接、查询进度,非常适合自动化流水线。除此之外,项目还配套了基于同一套后端的桌面客户端(Douzy),粘贴链接即可开下、关注列表同步、任务状态可视化,适合不想碰命令行的用户:

新手避坑速查:五个高频问题一次讲清

  1. 下载特别慢?先看并发thread是否与带宽匹配,一般 5–10 比较合适;网络不稳时调大timeout,被 IP 限制时配置proxy
  2. Cookie 失效报未登录?工具会尝试自动重登;自动重登失败的场景,重跑一次python tools/cookie_fetcher.py刷新即可。
  3. 只抓到 20 条就停?多半是翻页风控。确认browser_fallback.enabled为 true 且headless: false,弹出的浏览器里手动完成一次验证再放行。
  4. 个别视频失败?删除、私密、下架的作品抓不到是正常的,工具会自动跳过继续后面的任务,不会整体中断。想排查细节就加--verbose看完整日志。
  5. 文件互相覆盖?命名模板里漏了{id}最容易出现,补上即可避免同名标题互相覆盖。

现在开始:四步走完第一次下载任务

与其反复读文档,不如直接动手走一遍:

  1. 克隆项目git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader,并执行pip install -r requirements.txt
  2. 生成配置:复制config.example.yml,填入一条你自己的链接(先拿单条视频练手最稳);
  3. 准备凭据:用cookies: autotools/cookie_fetcher.py完成登录;
  4. 启动下载python run.py -c config.yml,看着进度条跑完,去./Downloaded/检查产物。

最后提醒一句:工具只负责技术实现,怎么使用取决于自己。请务必遵守抖音平台的服务条款与内容版权规定,只下载你有权保存的内容,并控制好下载频率,共同维护健康的网络环境。做到这些,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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考