#rule34 #async #async-networking #http #api-bindings #networking

shuller

Lib 用于获取在 rule34 和其他可实现网站上您最喜欢的标签的图片链接

14 个稳定版本

新版本 2.0.7 2024 年 8 月 20 日
2.0.6 2024 年 8 月 8 日
2.0.4 2024 年 8 月 2 日
1.0.6 2024 年 7 月 1 日
1.0.5 2024 年 6 月 30 日

1518网页编程

Download history 184/week @ 2024-06-26 37/week @ 2024-07-03 453/week @ 2024-07-31 214/week @ 2024-08-07 85/week @ 2024-08-14

每月 756 次下载

MIT 许可证

40KB
684 代码行

Shuller

Rule34 和其他可实现网站的链接获取库

注意想了解更多关于此库的信息,请查看 crates.io 上的 doc.rs

示例 (使用宏代替)

use shuller::prelude::*;
async fn example() {
    let instance: Posts = R34Params::init()
        .positive_tags(vec!["dark", "fish"])
        .negative_tags(vec!["ai_generated"])
        .limit(3)
        .download() // or url_generate()
        .await
        .unwrap();
        println!("{:#?}", instance.get_urls_ext())
}

通过宏的示例

  • 通过参数生成 URL 并手动获取 Posts 数据结构
    use shuller::prelude::*;
    async fn macro_normal() {
        let instance = R34!(
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        )
        .download()
        .await
        .unwrap(); // handle error
    }
    
  • 获取 Posts 数据结构,宏包含
    use shuller::prelude::*;
    async fn macro_download() {
        let instance = R34!(D;
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        )
        .unwrap(); // handle error
    }
    
  • 通过宏生成 URL,它只是一个 URL。
    use shuller::prelude::*;
    async fn macro_url() {
        let instance = R34!(U;
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        );
    }
    
  • 生成随机参数和 URL,并下载具有随机 ID 的 Posts
    use shuller::prelude::*;
      async fn r() {
          let params = R34!(R;);
          let url = R34!(R; D);
          let posts = R34!(R; U).unwrap(); // handle error
      }
    

依赖项

~5–15MB
~229K SLoC