4个版本 (稳定版)
1.2.0 | 2024年7月12日 |
---|---|
1.1.0 | 2024年7月12日 |
1.0.0 | 2024年7月11日 |
0.0.1 | 2024年7月10日 |
#232 in 认证
每月 85 次下载
用于 boostydownload
20KB
271 行
imgdl-rs
前身 boosty-rs
一个用于从类似Boosty和Gelbooru这样的服务下载图片的Rust库
安装
$ cargo add imgdl-rs
示例
Boosty
从博客获取所有帖子
use std::error::Error;
use boosty_rs::boosty::request;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let response = request::Client::fetch_posts("boosty".to_string(), None).await?;
println!("{:?}", response);
Ok(())
}
从博客获取单个帖子
use std::error::Error;
use boosty_rs::boosty::request;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let response = request::Client::fetch_post("boosty".to_string(), "a4dc61c8-4ff9-495b-946b-3982efef68fe".to_string(), None).await?;
println!("{:?}", response);
Ok(())
}
使用授权从博客获取所有帖子
use std::error::Error;
use boosty_rs::boosty::request;
use boosty_rs::boosty::auth::Auth;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let response = request::Client::fetch_posts("boosty".to_string(), Auth::new("access_token".to_string())).await?;
println!("{:?}", response);
Ok(())
}
Gelbooru
从标签获取帖子
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = imgdl_rs::gelbooru::request::Client::new(None);
let posts = client.fetch_posts(
"rating:general blue_sky", 3
).await?; // Fetch all posts with tags `rating:general blue_sky` from page 3
println!("{:?}", posts);
Ok(())
}
依赖项
~8–20MB
~304K SLoC