当前位置: 首页 > news >正文

收藏夹里 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),仅供参考

http://www.cnnetsun.cn/news/4115830.html

相关文章:

  • SQL优化案例:巧用主键分页减少DISTINCT开销
  • 制造业数据防篡改:从神钢事件看供应链诚信体系建设
  • 电视盒子刷机成Linux服务器的完整实战:amlogic-s9xxx-armbian从零到一
  • 库存管理P系统订货上限计算:从原理到Excel/Python实践
  • 摄像头流媒体太乱?go2rtc 用一个文件解决多协议统一出流
  • paper.json:构建机器可读学术论文,赋能LLM智能体高效科研
  • 从零搭建本地AI服务器:低成本部署大模型与Stable Diffusion实战指南
  • ERP采购订单变更失控:从根源分析到SAP系统实现完整控制方案
  • 全电动飞机试飞技术解析:从5美元电费看能量管理与工程挑战
  • AKConv:自适应卷积核改进目标检测性能的原理与实践
  • 别再被网盘限速折磨!开源网盘直链提取工具从零上手指南
  • Go语言数据结构、算法与设计模式一站式学习指南
  • PhoneHarness:构建混合GUI、CLI与工具的手机智能体统一执行框架
  • N沟道与P沟道MOSFET核心差异详解:从原理到选型避坑指南
  • RDP Wrapper完整实操指南:普通Windows电脑也能多人同时远程登录
  • AI珠宝精修到底是什么?和网上说的AI修图是一回事吗?
  • K7d秒级分叉K8s集群:加速AI训练与GRPO实验的工程实践
  • Qwen3.8-27B本地部署实战:消费级硬件跑通大模型,实测对比云端API
  • 高效能应用
  • 号称厘米级的蓝牙AOA定位,到医院项目就翻车?行业人该清醒了
  • Rhino.Inside.Revit 上手指南:30 分钟让 Rhino 与 Revit 实时联动,告别反复导模型
  • [校大]27届二本巢湖学院JAVA简历:小公司简历通过率仅3%
  • 超简易实时HTML编辑器
  • 手机号查QQ号如何实现?开源 Python 工具 phone2qq 极速速查指南
  • Bun 后端开发中如何实现无反射依赖注入:dunx 库实战指南
  • 抖音批量下载工具douyin-downloader终极指南:30分钟从零到千条视频入库
  • OBS多平台同时推流保姆级教程:obs-multi-rtmp一键搞定多平台直播
  • Linux网络命名空间实战:从零构建虚拟网络拓扑
  • 个人无营业执照如何在抖音、视频号卖课?2026 知识博主合规变现防坑全指南
  • 从信息收集到权限提升:攻克困难靶机的系统化渗透测试实战