9 releases
0.1.8 | Sep 26, 2023 |
---|---|
0.1.7 | Sep 2, 2023 |
0.1.6 | Aug 27, 2023 |
0.1.2 | Jul 9, 2023 |
0.1.1 | May 28, 2023 |
#1394 in Web programming
68KB
2K
SLoC
dlsite-rs
This is a library to get information about products on DLsite. Some information is not available on the HTML page, so this library also makes requests to the AJAX API.
NOTE: This library is still wip, and the API may change. Also, only the parts I needed are implemented, so there are many unimplemented parts.
Features
- Get product information by scraping html and using ajax api for web.
- Basic information
- Additional information
- Get product review
- Get product information using api.
- Search product
- Get circle info
- Get circle product list
- Get circle sale list
- Login and user related feature
- Get ranking
Example
- Get product by 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, "佐倉綾音");
}
- Search products
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);
}
Dependencies
~13–28MB
~403K SLoC