Günlük olarak güncellenen ücretsiz bir veri kümesinden bir web sayfasındaki verileri nasıl çizebilirim?
Kolombiya'da COVID-19 için doğrulanmış vakalar hakkında veri almak için aşağıdaki bağlantılarda bulunan verileri kullanıyorum. Kümülatif vakaları doğrusal olmayan bir modelle modelliyorum ve her şey yolunda. Bu, verilerin yerel olarak çalışması için indirilerek yapılmıştır. Web geliştirme için mekanizmalar olduğunu ve bu toplulukta bulduğum çok şey olduğunu biliyorum, ancak bir web sayfasındaki bağlantılarda bulunan verilerden grafik güncellemelerini otomatik olarak nasıl yapacağımı bilmiyorum.
https://www.datos.gov.co/Salud-y-Protecci-n-Social/Casos-positivos-de-COVID-19-en-Colombia/gt2j-8ykr/data
https://www.datos.gov.co/w/gt2j-8ykr/dneh-mcp2?cur=i2Z4n-Qy94T&from=root
Önerileriniz için teşekkürler!
Yanıtlar
Verileri yönetmek için Socrata'yı kullanıyor gibi görünüyor . Bu API ile ilgili deneyimim yok, ancak şu URL formunu kullanarak ona erişebileceğiniz görülüyor:
https://www.datos.gov.co/Salud-y-Protecci-n-Social/Casos-positivos-de-COVID-19-en-Colombia/gt2j-8ykr
Göre Socrata belgelerinde , belirli bir bu verileri talep edebilir $offset
ve $limit
URL'deki parametreler olarak bu sağlayarak. Bu biraz niş ve Mathematica Stack Exchange'in kapsamının ötesindedir, ancak bu umarız başlamanıza yardımcı olur:
(* fetch 10 records starting from offset 0 *)
request =
HTTPRequest["https://www.datos.gov.co/resource/gt2j-8ykr.json",
<| Method -> "GET", "Query" -> {"$limit" -> 10, "$offset" -> 0},
CharacterEncoding -> "UTF8"|>];
response = URLExecute[request];
Daha sonra JSON yanıtının özelliklerini bir Association
:
(* of our 10 records, get the first 5 cities of location *)
Association[#]["ciudad_de_ubicaci_n"] & /@ response[[1 ;; 5]]
(* {"Bogotá D.C.", "Guadalajara de Buga", "Medellín", "Medellín", "Medellín"} *)
Veritabanındaki (vakalar) toplam giriş sayısını istiyorsanız, API'yi şu şekilde kullanabilirsiniz $select=count(id_de_caso)
:
request =
HTTPRequest["https://www.datos.gov.co/resource/gt2j-8ykr.json",
<| Method -> "GET",
"Query" -> {"$select" -> "count(id_de_caso)", "$offset" -> 0},
CharacterEncoding -> "UTF8"|>];
response = URLExecute[request];
numberOfCases = ToExpression@Values[First[response]][[1]]
(* 456689 *)
Bu tam olarak Columbia'nın https://www.trackcorona.live/map 16 Ağustos 2020 itibariyle.