31 个版本 (13 个稳定版)
1.7.0 | 2024年1月18日 |
---|---|
1.6.2 | 2023年12月13日 |
1.5.5 | 2023年9月4日 |
1.2.0 | 2022年11月2日 |
0.27.4 | 2022年8月29日 |
#58 in 图像
每月下载量:182
215KB
5K SLoC
Imageboard Downloader
imageboard-downloader-rs 是一个用 Rust 编写的简单且可扩展API的命令行多图库下载器。
它是一个跨平台工具,以速度、简单的命令行界面和多个同时下载为主要特点。
imageboard_downloader_rs 对每个下载会话有硬编码的 100 页 限制,以防止API速率限制并减少对图像板服务器的压力。
⚠ 避免下载单独的标签选择,这些选择仅包含 ~100k 个帖子,而不使用下载限制器。要合理!
功能
- 多任务下载。
- 身份验证和用户黑名单。
- 下载限制。
- 自定义图像板(计划中。见 https://github.com/FerrahWolfeh/imageboard-downloader-rs/issues/6)
- 全局黑名单。 查看更多
- 将下载存储在
cbz
文件中。 查看更多 [x] 更新已下载的画廊。(已弃用)
安装
目前,您可以使用 cargo
安装最新版本或从 发布 下载
cargo install imageboard_downloader
或者通过克隆此存储库并自行构建
git clone https://gitlab.com/FerrahWolfeh/imageboard-downloader-rs.git
cd imageboard-downloader-rs
cargo build --release
cargo run --release -- search "your_tag" "your_another_tag_(cool)" -o ~/
最终的二进制文件将位于 target/release/imageboard_downloader
Windows 版本将在某天推出...
用法
该实用程序有 3 种主要操作模式
1. 标签搜索
此模式是实用程序的前默认模式,其中它将通过基于标签的搜索获取所有帖子
cargo run --release -- search [OPTIONS] <TAGS>...
2. 帖子下载
此模式旨在通过输入ID下载单个或少数帖子
cargo run --release -- post [OPTIONS] <POST_IDS>...
3. 池下载
此模式用于下载有组织的帖子组(池)
cargo run --release -- pool [OPTIONS] <POOL_ID>
每种模式都有其独特的选项集,更多详细信息请参阅imageboard_downloader --help
或cargo run --release -- --help
。
示例
使用指定标签从danbooru下载图片
imageboard_downloader search "skyfire_(arknights)"
如果您想使用danbooru或e621进行身份验证,请仅使用一次--auth
标志。然后所有后续的下载都将使用身份验证。
从第10页开始下载图片
imageboard_downloader search "skyfire_(arknights)" -s 10
仅从e621下载评分为“安全”的图片
imageboard_downloader search -i e621 "ash_(pokemon)" "pikachu" --safe-mode
以20个并发下载从rule34下载图片
imageboard_downloader search -i rule34 -d 20 "moe"
使用图片ID而不是md5作为文件名保存下载的图片
imageboard_downloader search -i e621 "wolf" "anthro" --id
默认情况下,程序将文件下载到您的当前目录。如果您想将文件下载到其他位置,请使用
imageboard_downloader "kroos_(arknights)" -o /any/other/dir
这将把文件保存在/任何/其他/目录/<文件>.png
中。如果指定的目录不存在,它将被创建。
下载带有注释标签的帖子
为了下载帖子并将它们的标签与其一起保存到.txt
文件中,只需像这样运行应用程序
cargo run --release -- post -o /whenever --annotate 123 456 69420
灵感和参考
- gallery-dl https://github.com/mikf/gallery-dl
- trauma (下载工作流程) https://github.com/rgreinho/trauma
- Av1an (主要进度条) https://github.com/master-of-zen/av1an
- e621_downloader (e621 api的一部分) https://github.com/McSib/e621_downloader
依赖项
~19–33MB
~529K SLoC