抖音视频批量下载完整指南:零基础用 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 这个开源的抖音下载工具,就是专门来收拾这个烂摊子的——视频、图文、合集、音乐、直播回放都能下,作者主页还能整页批量抓,去水印、挑高清、自动去重这些琐事,它也一并包圆了。
它到底替你干了哪些活
先花半分钟看看它的本事,每一项我都配了一句大白话解释:
- 一条链接通吃所有类型:视频、图文、合集、音乐,连
v.douyin.com开头的短链都能自己解析。就像你给快递员一个门牌号,他自己知道该去哪个楼层取件。 - 作者主页整页"打包带走":发布的作品、点赞过的、做的合集、用的原声,四个抽屉分门别类装好,一次跑完。相当于把一整个书架搬回家,而不是一本一本抄。
- 直播自己动手录:FLV / HLS 两种流格式都支持,主播中途下播、网络断开、甚至你手滑按了 Ctrl+C,已经录下来的内容都不会丢。
- 天生会去重:SQLite 数据库加本地文件双重检查,同一个视频换个模式再下一遍,也不会重复入库,硬盘不白占。
- 下载过程不用你盯着:进度条实时显示、失败自动重试、自动选最高清、无水印优先,默认 5 个线程并发跑。
- 存下来的内容比你想的更完整:除了视频本体,封面、背景音乐、作者头像、一份 JSON 元数据都会一起存好,以后想回查任何信息都找得到。
从零到第一次下载:四条命令搞定
先把环境搭起来。需要 Python 3.8 及以上,Windows、macOS、Linux 都能跑。依次执行:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader这一步把项目代码拉到你本地。
cd douyin-downloader/douyin-downloader克隆下来后主程序在douyin-downloader子目录里,后面所有命令都在这里执行。
pip install -r requirements.txt安装全部依赖。
cp config.example.yml config.yml复制一份配置模板,接下来所有设置都改在这个config.yml里。
环境就绪,接下来是很多人被劝退的一步——认证。好消息是它已经自动化了:
python -m tools.cookie_fetcher --config config.yml运行后会自动弹出浏览器,你正常登录一次抖音,回到终端按一下回车,认证信息就自动写进配置了,全程不用碰开发者工具、不用复制粘贴那一长串 Cookie。
这里提前埋两个坑:第一次跑如果发现只能抓到一部分作品,多半是触发了抖音的翻页风控,稍后配置里把browser_fallback.enabled打开就能缓解;万一哪天真提示登录失效了,重新跑一遍上面这条命令,几十秒就满血复活。
把一位博主的主页整个"搬"回家
假设你发现了一位每期都是干货的博主,想把他发布的作品、点赞过的视频、做过的合集、用过的原声全都留一份。手动操作是什么体验?几百个链接挨个复制、粘贴、找在线解析工具、躲弹窗广告……这个工作量想想就劝退。
用 douyin-downloader,你只需要在配置文件里填好链接和数量:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 博主主页链接 path: ./我的素材库/ mode: - post # 下载发布的作品 - like # 下载点赞的作品 - mix # 下载合集内容 - music # 下载原声作品 number: post: 50 # 先下 50 个发布作品 like: 0 # 0 表示不限量,全部都要然后运行:
python run.py -c config.yml剩下的就交给程序了。它会自动按作者名建好目录,四种模式分门别类存放,进度条一条条刷,已存在的内容直接跳过,几个线程并发跑,你该干嘛干嘛去。
跑完之后,你的素材库会长成这个样子:
我的素材库/ └── 作者名_xxxx/ ├── post/ # 发布的作品 ├── like/ # 点赞的作品 ├── mix/ # 合集内容 └── music/ # 原声作品每个作品一个独立文件夹,命名自带日期和标题,一眼就能找到想要的内容。这种秩序感,手动整理是给不了的。
单条链接随存随取
批量是家常便饭,但日常更多是"刷到一条就想存"。这时候连配置都不用动,一条命令直接扔链接:
python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538"-u后面接你想保存的视频链接,-c指定配置文件。朋友甩给你一个v.douyin.com开头的短链也没关系,程序会自己解析。
下载完成后,目录里会多出一个以"日期_标题"命名的文件夹,里面是视频本体、封面图、背景音乐和一份 JSON 元数据。以后想找这条视频,按日期翻文件夹就能定位。
其实这条命令不挑食——图文、合集、音乐都能用同一招,把-u后面的地址换成对应的note、collection、music链接就行,一个入口管所有类型。
直播与热点,错过也能留下
直播和短视频不一样,结束就是结束。特别是知识分享、教学、赛事这类内容,错过一场可能就再也补不回来。把直播链接和录制参数写进配置:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 录制 1 小时,0 表示录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30运行python run.py -c config.yml后,程序会解析出直播流地址开始录制,录好的文件存在Downloaded/作者名/live/目录下,并附一份直播间信息快照。最贴心的是:中途断线、主播下播、或者你按 Ctrl+C 中断,已经录下的内容都会自动保留,不会白录一场。
如果你还想追热点、找选题,工具也顺手给了两把"铲子":
python run.py --hot-board 30 -p ./Downloaded拉取抖音热搜榜前 30 条。
python run.py --search "猫咪" --search-max 100 -p ./Downloaded按关键词搜索相关内容,最多拉取 100 条。
这两类结果都会以 JSONL 文件导出到hot_board/和search/目录,方便你之后做数据分析或者内容选题。
三个让体验更顺手的小开关
基础功能用顺了,下面几个开关能让体验再上一个台阶。
① 增量下载 + 时间过滤:上次下到哪、哪些已经存过,程序心里有数。开启后每次只补新内容,再配合时间范围,只收你想要的那段时间:
increase: post: true # 增量模式:只下载新发布的作品 database: true # 增量依赖数据库记录 start_time: "2024-01-01" end_time: "2024-12-31"② 下载完成推送到手机:批量下载动辄几十分钟,不用干等,跑完自动通知你:
notifications: enabled: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY除了 Bark,还支持 Telegram,以及企业微信、飞书、钉钉这类 Webhook 机器人地址。
③ 接口化甚至桌面化:如果你有自动化需求,可以把下载能力包装成 HTTP 接口:
pip install fastapi uvicorn python run.py --serve --serve-port 8000之后就能通过接口提交下载任务、查询任务状态了。不想敲命令的朋友也有出路——项目基于同一套后端做了桌面版 Douzy(目前内测中),粘贴链接就能下载、可视化跟踪任务进度、文件命名规则点鼠标就能配好。命令行适合自动化,桌面版适合日常使用,两条路线共用一套内核,怎么顺手怎么来。
新手常问的三个问题,一句话说清
问:为什么只能抓到 20 条作品?这是抖音翻页风控的常见现象。确认配置里browser_fallback.enabled: true、headless: false,浏览器窗口弹出后手动过一下验证码,不要急着关,程序会自己继续翻页。
问:Cookie 失效了怎么办?重新跑一次自动获取命令即可,几十秒搞定:
python -m tools.cookie_fetcher --config config.yml问:怎么查看下载历史?数据库就在当前目录,一条 SQL 就能查:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"现在就能开始的三步
工具本身不复杂,难的只是迈出第一步。现在你就可以做三件事:
- 克隆项目并安装依赖(用上面第一条命令块里的四条命令);
- 跑一次 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),仅供参考