Günlük olarak güncellenen ücretsiz bir veri kümesinden bir web sayfasındaki verileri nasıl çizebilirim?

Aug 17 2020

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

4 flinty Aug 16 2020 at 23:18

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 $offsetve $limitURL'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.