抖音视频批量下载一篇搞定: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,就是为你准备的解决方案。它支持去水印下载视频、图集、合集、音乐,也能整页批量抓取作者主页作品,从单个链接到千人主页全覆盖,下面这篇抖音批量下载教程会带你从零上手。
为什么需要它:手动收集的效率有多低
先算一笔账。假设你要收 100 条视频素材:
- 手动逐条打开链接、等待加载、右键保存,一条平均 30 秒到 1 分钟,100 条就是 1 小时起步,还不算中途被水印和翻页折腾的时间。
- 用在线解析网站,单条限制、频繁弹广告,画质还被压缩,下多了还要排队。
- 录屏倒是免费,但画质差、带时间水印,音画还容易不同步,基本没法用于二次创作。
而 douyin-downloader 把这件事压缩到了分钟级:并发线程默认 5 条(可调 8、10),自动去重、自动重试、自动整理目录,一次配置可以反复使用。它解决的不仅是"下载",更是"把下载这件事管好"。
能力总览:一个工具,三问三答
能下载什么?
- 单条链接:视频
/video/{id}、图文/note/{id}、合集/collection/{id}、音乐/music/{id},连v.douyin.com短链都能自动解析后下载。 - 作者主页批量:进入某个用户主页,可一次抓取他的发布作品(post)、点赞作品(like)、合集(mix)、音乐原声(music)四类内容。
- 自己的收藏夹:登录状态下可批量导出当前账号收藏的作品(collect)和收藏的合集(collectmix)。
- 直播:
live.douyin.com/{room_id}支持 FLV/HLS 录制,主播下播、网络空闲或手动中断时,已录制的字节都会保留。
能自动完成什么?
下载时默认优先选择无水印源,并从视频的码率信息里自动挑出最高清的版本;下载失败按 1 秒、2 秒、5 秒指数退避自动重试;遇到接口翻页风控,会自动拉起浏览器兜底,人工过完验证码后继续;下载完成后还会做完整性校验,文件不完整会自动清理重下。
能把内容管得多好?
每个作品会保存视频、封面、原声音乐、作者头像、JSON 元数据五件套,附带一个download_manifest.jsonl下载清单;SQLite 数据库记录全部历史,二次下载自动跳过已存在的内容,实现真正的增量更新。命名规则、目录结构、作者目录方式全部可自定义,库里的数据随时可以查。
快速上手:三步完成第一次抖音批量下载
第一步:克隆项目并安装依赖
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt需要用到浏览器兜底或自动获取 Cookie 时,再补两条命令:
pip install playwright python -m playwright install chromium第二步:配置 Cookie(二选一)
抖音接口需要有效的 Cookie,推荐用自动方式:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml命令会拉起浏览器,扫码登录后回到终端按回车,程序自动把 Cookie 写进配置。如果自动方式不顺利,也可以手动登录抖音网页版,从浏览器开发者工具里复制 Cookie 字符串,粘贴到config.yml的cookies段。
第三步:写配置,跑起来
在config.yml里填入链接和下载模式:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 50 thread: 5 retry_times: 3 database: true然后执行:
python run.py -c config.yml屏幕上会出现 Rich 进度条,每个作品的状态、耗时、成功数一目了然:
跑完一次,你就完成了从安装到第一次抖音批量下载的完整闭环。
玩法拆解:三个真实场景,让工具物尽其用
场景一:数码测评团队的高效素材库
需求背景:一家数码自媒体要长期跟踪头部测评博主的机型实测视频,每周更新一次对比素材库,还要顺手存下他们用的 BGM 原声。
关键配置:把mode同时开成post和music,开启增量下载,让数据库自动跳过已下过的作品:
link: - https://www.douyin.com/user/某数码博主 mode: - post - music number: post: 0 music: 50 increase: post: true music: true效果对比:以前团队每天花 2 小时人工抓取,还经常漏更;现在每周定时跑一次,增量模式只拉新增内容,10 分钟完成,音乐原声也自动归档,做对比视频时直接调用。
场景二:电商运营的竞品内容监控
需求背景:电商运营需要跟踪 5 个竞品账号的近期爆款视频,分析其话术和钩子,还希望按发布时间筛出"最近 30 天"的内容。
关键配置:多链接并列 + 时间过滤 + 点赞作品模式:
link: - https://www.douyin.com/user/竞品A - https://www.douyin.com/user/竞品B mode: - post - like number: post: 0 like: 30 start_time: "2026-07-01" end_time: "2026-08-15"效果对比:以前运营每天手动刷竞品主页做记录,只能存下链接、留不下素材;现在只保留最近一个月的爆款视频原件,配合 JSON 元数据里的点赞数、评论数做复盘,选品和话术分析都有据可依。
场景三:校园社团与企业新媒体的选题弹药库
需求背景:学校宣传部的同学要收集校园话题下的热门视频做选题参考,同时批量备份几个校园博主的全部作品,防止毕业季内容被清空。
关键配置:关键词搜索导出 JSONL + 作者主页全量备份:
# 搜索"校园生活"话题相关作品,导出前 100 条到 JSONL python run.py --search "校园生活" --search-max 100 -p ./选题库/ # 备份某校园博主全部作品 python run.py -c backup.yml -p ./备份库/效果对比:以前靠截图和收藏夹存选题,链接失效就找不回来;现在素材以结构化 JSONL 落地,标题、标签、作者、链接一应俱全,选题会直接检索,备份的作品也永久保存在本地。
进阶提升:让下载全自动运转
定时任务,无人值守
用系统自带的定时器即可。Linux/macOS 用 crontab,每天凌晨执行:
0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1Windows 用户可以用"任务计划程序"创建计划任务,命令一行即可,配合increase增量开关,工具会自动只下新增内容,实现"每天自动追更"。
下载完成,消息通知
在配置里开启通知,下载完成或失败时推送到手机:
notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY sound: bell - type: webhook url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx多个通知渠道会并发推送,单个失败不会影响下载主流程,长任务跑完你就能第一时间知道。
REST API 集成到自己的系统
如果想把下载能力接进自己的管理后台,可以用服务模式:
pip install fastapi uvicorn python run.py --serve --serve-port 8000提交链接用POST /api/v1/download,查询进度用GET /api/v1/jobs/{job_id},还有健康检查接口,配合企业内部的选题系统、舆情系统都很方便。
值得打开的高级开关
- 视频转写:
transcript.enabled: true并配置OPENAI_API_KEY,下载后自动生成transcript.txt和transcript.json,做内容检索和二次创作极其好用。 - 评论采集:
comments.enabled: true,可按作品抓评论(可选二级回复),输出独立的*_comments.json。 - 命名模板:
filename_template: "{date}_{author}_{title}_{id}",用日期、作者、标题组合命名,文件夹再也不会乱。 - 作者目录:
author_dir: "nickname_uid",昵称加 ID,既直观又不会因改名导致目录分裂。 - 热搜榜快照:
python run.py --hot-board 30 -p ./Downloaded,一次导出当天热搜 JSONL,做热点追踪。
避坑手册:高频问题与排查清单
Q1:只能抓到 20 条作品怎么办?
这是翻页风控的典型现象,跟网络和账号状态都有关系。优先确认配置里browser_fallback.enabled: true、browser_fallback.headless: false,浏览器弹窗出现后手动完成验证,不要急着关窗口,等它把列表滚完再离开。
Q2:Cookie 失效了,报 403 或未登录?
Cookie 通常有有效期,过期后重新执行一次自动获取即可:
python -m tools.cookie_fetcher --config config.yml建议每周固定刷新一次,养成习惯,报错率会低很多。
Q3:部分视频下载失败,会不会中断整个任务?
不会。工具对每个作品独立处理,失败的会自动重试(默认 3 次,可调retry_times),实在不行的会跳过继续下一个,不影响其他作品。想看详细原因就加-v或--show-warnings重新跑一次。
Q4:为什么重复下载了?想重新下载某个作品怎么办?
程序靠"数据库记录 + 本地文件"双重去重,正常不会重复。如果你想强制重新下载,需要同时清理文件和数据记录,例如:
# 删掉本地文件(文件名里含 aweme_id)和数据库记录 sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"只删数据库不删文件不会触发重下(本地文件仍在);只删文件不删数据库则会重下(数据库有记录但文件不存在)。
Q5:转写文件没生成,怎么回事?
按顺序自查四条:transcript.enabled是否为true;下载的是不是视频(图文不做转写);OPENAI_API_KEY或transcript.api_key是否有效;response_formats是否包含txt或json。全部满足还不生成,就开-v看日志。
行动清单与结语
现在你已经掌握了这款抖音批量下载工具的完整玩法,动手前先对着这份清单确认一遍:
- 克隆项目,
pip install -r requirements.txt安装依赖 - 用
cookie_fetcher自动获取并写入 Cookie - 复制
config.example.yml,先下一个单条链接验证链路 - 熟悉
mode、number、thread、retry_times等核心配置 - 需要增量追更时,打开
increase和database - 翻页受限时,确认
browser_fallback已开启 - 进阶玩法:转写、评论、通知、定时任务、REST API 按需启用
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),仅供参考
