收藏夹里 200 个视频,与其一个个手动存,不如看看 douyin-downloader 怎么用一条命令收完
收藏夹里 200 个视频,与其一个个手动存,不如看看 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 两种格式,主播中途下播也不白录;
- 智能去重:SQLite 数据库加本地文件双重检查,同一个作品不会重复下载;
- 贴心的默认项:无水印优先、自动挑最高清、进度条、失败自动重试、按时间范围过滤。
一句话概括:你能看到的、能拿到链接的抖音内容,基本都能落进硬盘。
三分钟搭好环境,其实只有两条命令
先别被"开源工具"四个字吓到。搭环境这件事,熟练的人一分钟,第一次接触的人也就三分钟。
把项目克隆到本地,进入主程序目录,装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader/douyin-downloader pip install -r requirements.txt这条命令做了什么:把代码拿到本地,进入真正的主程序子目录,然后装好它需要的 Python 依赖包。前提是机器上有 Python 3.8 及以上版本,Windows、macOS、Linux 都支持。
如果你后面想用到"浏览器兜底翻页"和"自动获取 Cookie"这两个功能,再多装一个 Playwright:
pip install playwright python -m playwright install chromium这里多说一句:这两个功能不是一开始就必须的,可以先跑起来,遇到翻页受限时再回来补装,不影响前面的体验。
身份认证不再需要去开发者工具里翻 Cookie
很多抖音下载器劝退人的地方,就是"手动复制 Cookie"——得打开浏览器按 F12、切到 Network、找请求头、小心翼翼地复制一串超长的字符串,稍不留神就漏一段。
douyin-downloader 把这一步做成了全自动。运行下面的命令,它会自动打开一个浏览器窗口:
python -m tools.cookie_fetcher --config config.yml这条命令做了什么:启动浏览器打开抖音登录页,你正常登录一次,回到终端按一下回车,程序就会把认证信息自动写进配置。全程不需要碰任何技术细节。
顺带提醒:第一次运行前,记得把config.example.yml复制一份成config.yml,之后所有配置都改这一份。命令很简单:
cp config.example.yml config.yml单条下载:看见一条想存的,扔给命令行就行
以前存一条视频,流程是:复制链接 → 打开某个在线去水印网站 → 粘贴 → 等解析 → 下载,中间还可能被弹窗广告恶心一顿。现在呢?
python run.py -c config.yml -u "https://www.douyin.com/video/1234567890123456789"这条命令做了什么:-c指定读取config.yml里的配置,-u追加你想保存的那条视频链接。跑完之后,目录里会同时出现视频本体、封面图、背景音乐和一份 JSON 元数据。以后想追溯这个作品的发布时间、作者、标题,翻那份 JSON 就行。
如果你拿到的是一串短链接,比如https://v.douyin.com/xxxx,也直接扔给它,程序会自动解析出真实地址再下载。
批量下载:一份配置,把整个创作者主页搬回家
这是它最"值回票价"的功能。假设你发现了一个宝藏创作者,想把他的作品、点赞过的内容、做的合集、用的原声全部保存下来——手动做这件事的工作量,光想想就劝退。
在config.yml里这样写:
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,剩下的交给程序。它会自动按作者名建好目录,把不同来源的内容分门别类:
我的抖音收藏/ └── 作者名_MS4wLjABAAAAxxxx/ ├── post/ # 作者发布的作品 ├── like/ # 作者点赞的作品 ├── mix/ # 合集内容 └── music/ # 音乐作品上图是一次真实运行的记录:程序自动抓到了全部 274 个作品,按时间范围做了过滤,已经下载过的文件直接跳过,剩下用 5 个线程并发下载。你要做的只是盯着进度条喝完一杯水。
再往下看,是批量下载进行中的真实样子:
注意看每一行的 100% 和 0:00:00 耗时——下载都是并发的,整体速度比你想象中快得多。
直播录制:错过就补不回来的内容,现在自己动手录
短视频错过还能再刷到,直播不一样。知识分享、教学、比赛,这类内容错过一场可能真的就没了。douyin-downloader 的直播录制功能就是为这个场景准备的。
在config.yml里加上直播链接和录制参数:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 录制 1 小时,0 表示录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30上图是它录制前的解析过程:自动读出了直播间标题、在线人数和清晰度选项,选定最高清之后拿到流地址开始录制。录好的文件会存到Downloaded/作者名/live/目录下,同时附一份直播间信息快照。
最贴心的是它的"兜底"逻辑:哪怕主播中途下播、网络断开、或者你按 Ctrl+C 中断,已经录下来的部分也会被保留下来,不会让你白等一场。
下载多了怎么保持清爽:去重和整理交给它
批量下载最怕的两件事:重复下载占硬盘、文件乱成一团找不到。
针对重复,它内置了 SQLite 数据库去重,加上本地文件双重检查。同一个作品,今天用post模式下了,明天换like模式又碰到,它会直接跳过,绝不会重复入库。针对整理,每个作品一个独立文件夹,命名带日期和标题:
database: true # 开启数据库去重和历史记录 increase: post: true # 增量模式:只下载新发布的作品 like: true mix: 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 机器人地址。
热搜榜和关键词搜索:想追热点或者找某一类内容,不用打开 App 慢慢翻:
python run.py --hot-board 30 # 拉取抖音热搜榜前 30 python run.py --search "猫咪" --search-max 100 # 搜索关键词相关内容结果会导出成 JSONL 文件,方便做数据分析或者内容选题。
REST API 服务模式:把下载能力包装成 HTTP 接口,适合有自动化需求的进阶玩家:
pip install fastapi uvicorn python run.py --serve --serve-port 8000之后就能通过接口提交下载任务、查询任务状态了。
不想敲命令?同一套内核还有桌面版
如果你对命令行始终有点距离感,项目还基于同一套后端做了桌面版 Douzy,目前处于内测期。粘贴链接就能下载、一键同步关注列表、可视化管理任务。
上图是桌面版的下载页:粘贴链接、自动检测类型、勾选要下载的内容,点一下就开始。
任务中心里,每个任务的进行中、成功、失败状态一目了然,还能直接打开文件所在目录。
下载过程中有实时进度和事件流日志,出问题能看得清清楚楚。
命令行适合自动化批量,桌面版适合日常点点鼠标,两条路线共用一套内核,怎么顺手怎么来。
新手最容易踩的几个坑
为什么只能抓到 20 条作品?这是抖音翻页风控的常见现象。解决办法是确保配置里browser_fallback.enabled: true,当浏览器窗口弹出时手动过一下验证码,别急着关掉,程序会自己继续翻页。
Cookie 失效了怎么办?重新跑一次自动获取命令,几十秒搞定:
python -m tools.cookie_fetcher --config config.yml下载速度慢怎么优化?把配置文件里的thread从默认的 5 调到 8 试试;另外尽量在网络状况好的时段下载,效果差异很明显。
想查下载历史?数据库就在当前目录,一条 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),仅供参考
