9 个版本

0.1.8 2023 年 9 月 26 日
0.1.7 2023 年 9 月 2 日
0.1.6 2023 年 8 月 27 日
0.1.2 2023 年 7 月 9 日
0.1.1 2023 年 5 月 28 日

#1309网页编程

Download history 8/week @ 2024-07-06 250/week @ 2024-07-27

每月 258 次下载

MIT 许可证

68KB
2K SLoC

dlsite-rs

这是一个获取 DLsite 产品信息的库。有些信息在 HTML 页面上不可用,因此此库还会向 AJAX API 发送请求。

注意:此库仍处于开发中,API 可能会更改。此外,仅实现了我需要的部分,因此有许多未实现的部分。

功能

  • 通过抓取 HTML 和使用网页的 AJAX API 获取产品信息。
    • 基本信息
    • 附加信息
  • 获取产品评论
  • 使用 API 获取产品信息。
  • 搜索产品
  • 获取圈子信息
    • 获取圈子产品列表
    • 获取圈子促销列表
  • 登录和用户相关功能
  • 获取排名

示例

  • 通过 API 获取产品
use dlsite::{DlsiteClient, product::Product};
use tokio;
#[tokio::main]
async fn main() {
    let client = DlsiteClient::default();
    let product = client.get_product_api("RJ01014447").await.unwrap();
    assert_eq!(product.creators.unwrap().voice_by.unwrap()[0].name, "佐倉綾音");
}
  • 搜索产品
use dlsite::{DlsiteClient, product::Product, search::options::*};
use tokio;
#[tokio::main]
async fn main() {
    let client = DlsiteClient::default();
    let product = client
        .search_product(&ProductSearchOptions {
            sex_category: Some(vec![SexCategory::Male]),
            keyword: Some("ASMR".to_string()),
            ..Default::default()
        })
        .await
        .expect("Failed to search");
    dbg!(&product);
}

依赖

~13–26MB
~418K SLoC