语言 / Language: 中文 · English
一个可靠、聚焦的 DeviantArt 下载 / 归档命令行工具。
需要 Python 3.10 或更高版本。
python -m pip install -U devart-dl
# 单张作品(也支持 fav.me 短链、裸 artwork id)
devart-dl https://www.deviantart.com/username/art/title-123456
# 画廊 / 作者全集
devart-dl https://www.deviantart.com/username/gallery
# 收藏夹 / 标签
devart-dl https://www.deviantart.com/username/favourites
devart-dl https://www.deviantart.com/tag/landscape
# 解析为 JSON 描述(不下载文件)
devart-dl resolve https://www.deviantart.com/username/art/title-123456首次下载前建议使用 OAuth 登录:
devart-dl login oauth --client-id 你的_PUBLIC_CLIENT_ID
devart-dl whoami不会注册 OAuth 应用也可以使用 Cookie。最简单的是一键浏览器登录(本机装 Chrome + Node ≥ 22):
devart-dl login browser # 打开你的 Chrome 登录,自动保存 Cookie,无需 F12 复制完整图文式步骤见 登录与认证教程。
普通用户无需手动下载 GitHub Release 里的
.whl、.tar.gz或 Source code,运行上面的pip install即可。文件区别和 SHA256 校验方法见完整文档。
- 官方 API(OAuth)优先:登录一次即可下载原图,无需导出 Cookie,也无需防封延时。
- URL 优先:直接粘贴作品 / 画廊 / 收藏夹 / 标签链接即可下载。
- 文本作品:文学 / 日志型 deviation 在响应内直接提取正文,保存为 UTF-8
.txt;媒体与文本自动分流。 - 下载可靠:HTTP Range 断点续传、自动重试、429 退避、原子落盘。
- 下载档案:
--archive用 SQLite 记住已下载,跨会话自动跳过。 - 路径模板 + 元数据 sidecar:
--directory/--filename模板与--write-info-json。 - 代理与降级:支持
--proxy;未登录 OAuth 时自动回退 Cookie。 - Resolve 模式:
devart-dl resolve URL输出ResolvedDeviation/MediaAsset的 JSON 契约,不写文件。 - 付费/订阅锁定识别:官方 API 返回
premium_folder_data/tier_access,或网页端非成熟作品的模糊主图(blur_),都会识别为「需要订阅/购买」:网页通道跳过,官方通道明确报错,不再把打码图当原图保存。
| 你想做什么 | 文档 |
|---|---|
| 下载安装包 | 下载页 |
| 登录与认证 | 登录与认证 |
| 命令、配置与 Python 调用 | 文档站 |
- requests:HTTP 客户端。
- 登录与归档目录的实现与 gallery-dl 交叉核对过。
本项目基于 MIT License 开源。
注意:本工具仅供个人学习和研究使用。使用者应遵守 DeviantArt 服务条款及版权规定,请勿用于商业用途或大规模抓取导致服务器过载。作者不对任何滥用后果负责。