Crates.io | anime-grubber |
lib.rs | anime-grubber |
version | 0.0.7 |
source | src |
created_at | 2024-10-21 15:19:50.664757 |
updated_at | 2024-10-27 18:20:14.552318 |
description | A convenient library for extracting images of cute characters from websites. |
homepage | https://github.com/TOwInOK/anime-grubber |
repository | https://github.com/TOwInOK/anime-grubber |
max_upload_size | |
id | 1417638 |
size | 33,750 |
удобная библиотека для извлечения изображений милых (или не совсем) персонажей с веб-сайтов.
Пропишите в консоль:
cargo add anime-grubber
или
Добавьте anime-grubber в ваш Cargo.toml
:
[dependencies]
anime-grubber = "0"
use anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let instance = Waifu::new(Categories::SFW(SFW::Dance));
let image = instance.get().await?;
println!("Fetched image URL: {}", image);
Ok(())
}
Этот пример показывает, как можно получить одно изображение из категории SFW::Dance:
use anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};
use tracing::info;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let instance = Waifu::new(Categories::SFW(SFW::Dance));
let image = instance.get().await?;
info!("Fetched image URL: {}", image);
Ok(())
}
Получение сразу нескольких изображений из той же категории:
use anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};
use tracing::info;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let instance = Waifu::new(Categories::SFW(SFW::Dance));
let images = instance.get_many().await?;
assert_eq!(images.len(), 30);
info!("{:#?}", images);
Ok(())
}
Для удобства отладки используется библиотека tracing. Пример настройки глобального логгера можно увидеть в тестах.
use tracing_subscriber::FmtSubscriber;
tracing::subscriber::set_global_default(
FmtSubscriber::builder()
.with_max_level(tracing::Level::DEBUG) // or you can use INFO .with_max_level(tracing::Level::INFO)
.pretty()
.without_time()
.finish(),
).expect("Failed to set global default subscriber");
Библиотека содержит примеры тестов, которые можно найти в модуле Tests:
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.