Eine Rust-Implementierung eines Wrappers für die SauceNAO-API.
Fügen Sie Ihrer Cargo.toml
Datei Folgendes hinzu:
[dependencies]
rustnao = "0.3.4"
Hier ist ein einfaches Beispiel:
use rustnao::{HandlerBuilder, Sauce};
fn main() {
let api_key = "your_api_key";
let file = "https://i.imgur.com/W42kkKS.jpg";
// Specifying our key, test_mode set to 0, only want to see Pixiv and Sankaku using a mask, nothing excluded, no one specific source, and 15 results at most
let handle = HandlerBuilder::default().api_key(api_key).db_mask([Handler::PIXIV, Handler::SANKAKU_CHANNEL].to_vec()).num_results(15).build();
// Set the minimum similarity to 45.
handle.set_min_similarity(45);
// Returns a vector of Sauce objects if successful
let result: Vec<Sauce> = handle.get_sauce(file, None, None).unwrap();
// Or perhaps you prefer a JSON output
let result_json: String = handle.get_sauce_as_pretty_json(file, None, None).unwrap();
// Or maybe you wish to only get 5 results with a min similarity of 50.0
let result_json_filtered: String = handle.get_sauce_as_pretty_json(file, Some(5), Some(50 as f64)).unwrap();
}
Weitere Beispiele finden Sie hier.
Weitere Dokumentation finden Sie hier. Sie können sich hier auch die API-Dokumentation von SauceNAO ansehen.
Möchten Sie helfen? Haben Sie ein Problem/einen Fehler gefunden? Lass es mich wissen!
Ich wurde von Sagiri inspiriert, daher muss ich dieses Projekt loben. Darüber hinaus danken wir SauceNAO, das diese erstaunliche Funktionalität kostenlos zur Verfügung stellt.
Vielen Dank auch an den Pixiv-Benutzer リン ☆ ユウ@1 日目 西れ 44b für dieses Bild, das ich häufig für Beispiele und Tests verwendet habe. Ich konnte das Bild, das ich für den lokalen Test verwendet habe, anscheinend nicht finden (SauceNAO hat mich im Stich gelassen). Wenn es jemand weiß, lassen Sie es mich wissen, damit ich es nennen kann.