Py学习  »  Git

抖音作品想留个备份?这个 GitHub 项目,把下载和归档放到了一起

GitHub开源科技 • 18 小时前 • 14 次点击  

各位好啊,我是开源君!

做过短视频的朋友,应该遇到过这种情况:准备整理自己的旧作品,才发现原始素材散在几台设备里,账号主页反倒成了最完整的作品目录。

一条条打开、保存,再给文件改名,数量一多就挺磨人。今天聊的 Douyin Downloader,就围绕链接下载和本地归档来做。不过,上手前得先分清它的两条使用路径。

项目简介

这个仓库提供 Python 命令行下载器,也提供名为 Douzy 的桌面客户端下载入口。想点界面、看任务,可以先了解桌面端;习惯写配置、接脚本,再考虑命令行。

有个现状要提前说:命令行目前受到抖音接口风控影响,单个视频、图文、合集、音乐、喜欢和收藏的下载被阻止。主页作品可以尝试浏览器兜底,但也不保证成功。

仓库采用 MIT 许可证,桌面端另有插件、激活与内测条件,具体以对应版本说明为准。开源代码的许可和桌面功能的开放范围,需要分开看。

Douzy 桌面端展开平台切换菜单
Douzy 0.11.6 桌面端的平台切换界面(macOS)

链接变任务,整理起来更有条理

Douzy 的基本思路很直观:把链接交给工具,在任务中查看下载进度,再到本地作品档案里管理内容。对于经常整理自己作品的人,这比在一堆临时文件夹里翻找更容易建立固定流程。

抖音处理界面中,可以看到作品、喜欢、合集、音乐等选项,还能选择视频或图文、设置数量上限。先确定这次要整理什么、整理多少,再开始任务,操作目的会更清楚。

Douzy 抖音处理内容与作品类型选项
Douzy 桌面端的抖音处理选项

多个平台,放到一个工作台

虽然仓库名字带着抖音,Douzy 桌面端还列出了 TikTok、YouTube、Telegram 和 X 的入口。比如 TikTok 面向公开视频、图集和主页,YouTube 则覆盖视频、Shorts、频道和播放列表,也提供音频与字幕相关功能。

如果你的授权素材分散在不同平台,这种集中管理的方式就有吸引力。不过,这些多平台能力属于桌面端;仓库里的 Python 命令行版只支持抖音。

Douzy 桌面端的 YouTube 工作台
Douzy 桌面端的 YouTube 链接处理界面

先看接入条件,再选下载范围

平台入口并不意味着装好就能使用全部功能。Douzy 的能力取决于启用的插件或本机组件:Telegram 需要配置并登录,X 的相关功能需要账号 Cookie。

当前桌面版发布说明写明,标准版单链接任务入口无需邀请码,批量队列和高级界面流程仍需内测资格,部分批量与高级功能需要激活。准备拿它整理大量作品前,先核对自己需要的功能是否开放。

Douzy Telegram 接入配置页面
Douzy 桌面端的 Telegram 接入配置页

命令行,把备份规则写进配置

Python 版本值得关注的是配置能力:目标主页、保存目录、数量、日期范围,都能写进配置文件。比如只整理某个月发布的作品,就不用每次手动挑选。

它还设计了下载历史和增量机制。启用 increase.post 后会跳过已下载作品,并检查磁盘上的主媒体文件;默认开启的缺失补下选项,可以处理文件被移走或丢失的情况。

文件命名也有模板,可以组合日期、标题和作品 ID。模板至少包含 ID,能减少同名文件互相覆盖的问题。经常整理多个作者时,还可以选用“昵称加唯一标识”的作者目录,避免只按昵称归档带来的混淆。

画质默认选择最高可用转码档,也可以配置为尝试原片;探测失败会回退。最终能拿到什么画质,仍取决于作品本身提供的资源,不能理解成把低清视频自动变成高清。

这些规则能帮助组织任务,但实际下载仍受前面提到的风控限制。更新 Cookie 或反复重试,不能解决这类接口阻断。别把时间耗在无休止地重复运行上。

快速安装、使用

使用方式
先看什么
Douzy 桌面端
Windows / macOS;核对插件和功能开放条件
Python 命令行
Windows / macOS / Linux;先了解抖音下载限制

桌面端可在项目的 Releases 页面选择 Windows 或 macOS 安装包,并阅读对应版本说明。想研究脚本版,则需要 Python 3.9 及以上环境,Windows、macOS、Linux 均在支持范围内。

git clone https://github.com/jiji262/douyin-downloader.git
cd douyin-downloader
python -m pip install -r requirements.txt
python -m pip install playwright
python -m playwright install chromium

把 config.example.yml 复制为 config.yml,再运行下面的登录工具。在打开的浏览器中登录抖音,回到终端按 Enter 保存 Cookie,并将登录信息保留在本地。

python -m tools.cookie_fetcher --config config.yml

保留已有 Cookie,把配置中的示例主页换成目标主页。初次尝试可以只设 10 条,观察任务结果,再决定后续怎么整理。以下字段合并到现有配置即可:

path: ./Downloaded/
mode: [post]
number:
  post: 10
increase:
  post: true
redownload_missing_files: true

随后启动任务。浏览器兜底需要时,应在可见浏览器中自行完成验证;完成验证后,仍可能受到当前平台限制。

python run.py -c config.yml

最后

如果你正在找作品归档工具,可以先看看 Douzy 的界面和功能开放条件;如果你更关心下载任务怎么配置、历史怎么记录,Python 版本也有值得研究的实现。

对这类项目,既要看功能,也得看当下能不能用。拿自己或已获授权的作品做小范围尝试,把可用路径确认清楚,再慢慢搭起自己的素材档案,会更踏实。

项目地址https://github.com/jiji262/douyin-downloader

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/203191