1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
use serde_derive::Deserialize; #[derive(Deserialize)] pub struct Response { pub tarih: String, pub gunluk_test: String, pub gunluk_vaka: String, pub gunluk_hasta: String, pub gunluk_vefat: String, pub gunluk_iyilesen: String, pub toplam_test: String, pub toplam_hasta: String, pub toplam_vefat: String, pub toplam_iyilesen: String, pub toplam_yogun_bakim: String, pub toplam_entube: String, pub hastalarda_zaturre_oran: String, pub agir_hasta_sayisi: String, pub yatak_doluluk_orani: String, pub eriskin_yogun_bakim_doluluk_orani: String, pub ventilator_doluluk_orani: String, pub ortalama_filyasyon_suresi: String, pub ortalama_temasli_tespit_suresi: String, pub filyasyon_orani: String, } pub async fn covid() -> Result<Response, Box<dyn std::error::Error>> { let resp = reqwest::get("https://covid19.saglik.gov.tr") .await? .text() .await?; let baslangic = resp.find(r"var sondurumjson = [").unwrap(); let bitis = resp.find("];//]]>").unwrap(); let jsonstr = &resp[baslangic..bitis][20..]; let json: Response = serde_json::from_str(jsonstr)?; Ok(json) }