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"