#download #image #boosty #service #post #gelbooru #error

imgdl-rs

用于从Boosty和Gelbooru等服务下载图片的Rust库

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 认证

Download history 40/week @ 2024-07-04 242/week @ 2024-07-11 20/week @ 2024-07-18 39/week @ 2024-07-25 15/week @ 2024-08-01 11/week @ 2024-08-08

每月 85 次下载
用于 boostydownload

MIT 协议

20KB
271

imgdl-rs

前身 boosty-rs
一个用于从类似Boosty和Gelbooru这样的服务下载图片的Rust库
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