R - Datos web

Muchos sitios web proporcionan datos para el consumo de sus usuarios. Por ejemplo, la Organización Mundial de la Salud (OMS) proporciona informes sobre información médica y de salud en forma de archivos CSV, txt y XML. Con los programas R, podemos extraer mediante programación datos específicos de dichos sitios web. Algunos paquetes en R que se utilizan para eliminar datos de la web son: "RCurl", XML "y" stringr ". Se utilizan para conectarse a las URL, identificar los enlaces necesarios para los archivos y descargarlos en el entorno local.

Instalar paquetes R

Los siguientes paquetes son necesarios para procesar las URL y los enlaces a los archivos. Si no están disponibles en su entorno R, puede instalarlos usando los siguientes comandos.

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

Los datos de entrada

Visitaremos la URL de datos meteorológicos y descargaremos los archivos CSV usando R para el año 2015.

Ejemplo

Usaremos la función getHTMLLinks()para recopilar las URL de los archivos. Entonces usaremos la funcióndownload.file()para guardar los archivos en el sistema local. Como aplicaremos el mismo código una y otra vez para varios archivos, crearemos una función que se llamará varias veces. Los nombres de archivo se pasan como parámetros en forma de un objeto de lista R a esta función.

# 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/")

Verificar la descarga del archivo

Después de ejecutar el código anterior, puede ubicar los siguientes archivos en el directorio de trabajo actual de R.

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