{"id":35164005,"url":"https://github.com/towinok/anime-grubber","last_synced_at":"2025-12-30T06:02:02.698Z","repository":{"id":259004159,"uuid":"876018872","full_name":"TOwInOK/anime-grubber","owner":"TOwInOK","description":"Convenient library for extracting images of cute (or not so cute) characters from websites.","archived":false,"fork":false,"pushed_at":"2024-10-27T18:18:44.000Z","size":46,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T01:28:16.881Z","etag":null,"topics":["anime","parser","waifu-pics"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TOwInOK.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T09:07:54.000Z","updated_at":"2025-01-06T23:21:24.000Z","dependencies_parsed_at":"2024-10-22T12:59:36.244Z","dependency_job_id":null,"html_url":"https://github.com/TOwInOK/anime-grubber","commit_stats":null,"previous_names":["towinok/anime-grubber"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/TOwInOK/anime-grubber","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TOwInOK%2Fanime-grubber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TOwInOK%2Fanime-grubber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TOwInOK%2Fanime-grubber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TOwInOK%2Fanime-grubber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TOwInOK","download_url":"https://codeload.github.com/TOwInOK/anime-grubber/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TOwInOK%2Fanime-grubber/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28102750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-28T02:00:05.685Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anime","parser","waifu-pics"],"created_at":"2025-12-28T19:04:27.209Z","updated_at":"2025-12-30T06:02:02.692Z","avatar_url":"https://github.com/TOwInOK.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# anime-grubber\n[![Crates.io](https://img.shields.io/crates/v/anime-grubber.svg)](https://crates.io/crates/anime-grubber)\n[![Documentation]( https://img.shields.io/badge/docs-doc.rs-red)](https://docs.rs/anime-grubber)\n[![License](https://img.shields.io/crates/l/anime-grubber.svg)](LICENSE)\nудобная библиотека для извлечения изображений милых (или не совсем) персонажей с веб-сайтов.\n\n## Возможности\n\n- Извлечение изображений и GIF с аниме-сайтов и других ресурсов.\n- Поддержка работы с различными категориями медиа, включая SFW (Safe for Work) и NSFW (Not Safe for Work).\n- Лёгкая интеграция с асинхронными приложениями на базе **Tokio**.\n- Встроенные агенты для работы с популярными API (например, Waifu.pics).\n- Логирование событий для отладки и отслеживания процесса загрузки медиа.\n\n## Агенты\n\n- [Vaifu.pics](https://waifu.pics/docs)\n\n## Установка\n\nПропишите в консоль:\n```sh\ncargo add anime-grubber\n```\n\nили\n\nДобавьте **anime-grubber** в ваш `Cargo.toml`:\n\n```toml\n[dependencies]\nanime-grubber = \"0\"\n```\n\n## Использование\n\n```rust\nuse anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};\n\n#[tokio::main]\nasync fn main() -\u003e anyhow::Result\u003c()\u003e {\n    let instance = Waifu::new(Categories::SFW(SFW::Dance));\n    let image = instance.get().await?;\n    println!(\"Fetched image URL: {}\", image);\n    Ok(())\n}\n```\n\n## Примеры использования\n\n### Извлечение одного изображения\n\nЭтот пример показывает, как можно получить одно изображение из категории **SFW::Dance**:\n\n```rust\nuse anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};\nuse tracing::info;\n\n#[tokio::main]\nasync fn main() -\u003e anyhow::Result\u003c()\u003e {\n    let instance = Waifu::new(Categories::SFW(SFW::Dance));\n    let image = instance.get().await?;\n    info!(\"Fetched image URL: {}\", image);\n    Ok(())\n}\n```\n\n### Извлечение нескольких изображений\n\nПолучение сразу нескольких изображений из той же категории:\n\n```rust\nuse anime_grubber::agents::waifu_pics::{Waifu, Categories, SFW};\nuse tracing::info;\n\n#[tokio::main]\nasync fn main() -\u003e anyhow::Result\u003c()\u003e {\n    let instance = Waifu::new(Categories::SFW(SFW::Dance));\n    let images = instance.get_many().await?;\n    assert_eq!(images.len(), 30);\n    info!(\"{:#?}\", images);\n    Ok(())\n}\n```\n\n## Логирование\n\nДля удобства отладки используется библиотека **tracing**. Пример настройки глобального логгера можно увидеть в тестах.\n\n```rust\nuse tracing_subscriber::FmtSubscriber;\n\ntracing::subscriber::set_global_default(\n    FmtSubscriber::builder()\n        .with_max_level(tracing::Level::DEBUG) //  or you can use INFO .with_max_level(tracing::Level::INFO)\n        .pretty()\n        .without_time()\n        .finish(),\n).expect(\"Failed to set global default subscriber\");\n```\n\n## Тестирование\n\nБиблиотека содержит примеры тестов, которые можно найти в модуле [Tests](./tests/):\n\n\n## Лицензия\n\nЭтот проект распространяется под лицензией **MIT**. Подробности см. в файле [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftowinok%2Fanime-grubber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftowinok%2Fanime-grubber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftowinok%2Fanime-grubber/lists"}