R - Dati Web

Molti siti Web forniscono dati per il consumo da parte dei propri utenti. Ad esempio, l'Organizzazione mondiale della sanità (OMS) fornisce rapporti su informazioni sanitarie e mediche sotto forma di file CSV, txt e XML. Utilizzando i programmi R, possiamo estrarre in modo programmatico dati specifici da tali siti Web. Alcuni pacchetti in R che vengono utilizzati per scartare i dati dal web sono - "RCurl", XML "e" stringr ". Sono usati per connettersi agli URL, identificare i collegamenti richiesti per i file e scaricarli nell'ambiente locale.

Installa pacchetti R.

I seguenti pacchetti sono necessari per l'elaborazione degli URL e dei collegamenti ai file. Se non sono disponibili nel tuo ambiente R, puoi installarli utilizzando i seguenti comandi.

install.packages("RCurl")
install.packages("XML")
install.packages("stringr")
install.packages("plyr")

Dati in ingresso

Visiteremo i dati meteorologici dell'URL e scaricheremo i file CSV utilizzando R per l'anno 2015.

Esempio

Useremo la funzione getHTMLLinks()per raccogliere gli URL dei file. Quindi useremo la funzionedownload.file()per salvare i file nel sistema locale. Dato che applicheremo lo stesso codice ripetutamente per più file, creeremo una funzione da chiamare più volte. I nomi dei file vengono passati come parametri sotto forma di un oggetto elenco R a questa funzione.

# Read the URL.
url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"

# Gather the html links present in the webpage.
links <- getHTMLLinks(url)

# Identify only the links which point to the JCMB 2015 files. 
filenames <- links[str_detect(links, "JCMB_2015")]

# Store the file names as a list.
filenames_list <- as.list(filenames)

# Create a function to download the files by passing the URL and filename list.
downloadcsv <- function (mainurl,filename) {
   filedetails <- str_c(mainurl,filename)
   download.file(filedetails,filename)
}

# Now apply the l_ply function and save the files into the current R working directory.
l_ply(filenames,downloadcsv,mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")

Verifica il download del file

Dopo aver eseguito il codice precedente, è possibile individuare i seguenti file nella directory di lavoro corrente R.

"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv"
   "JCMB_2015_Mar.csv"