Extraer datos de una web

Alguna vez todos hemos necesitado extraer datos de Wikipedia u otra página web y algunas veces es bastante incomodo estar extrayendo los datos con el teclado y el ratón.

Para todos aquellos que quieran una extracción rápida hoy les dejo un código en R para poder extraer tablas HTML en un segundo.

Para este código vamos a necesitar dos librerías: Rvest y magrittr.

require(rvest)
require(magrittr)
## Loading required package: magrittr
url <- "https://es.wikipedia.org/wiki/%C3%8Dndice_de_desarrollo_humano"
# Introducimos la página web a buscar
pagina <- read_html(url, as.data.frame=T, stringsAsFactors = TRUE)
#Creamos una función con read_html para que lea la página web.
pagina %>%  
        html_nodes("table") %>% 
        #Aquí indicamos que es una tabla lo que queremos extraer.
        .[[3]] %>% 
        #Aquí ponemos de que tabla del HTML se trata, en nuestro ejemplo es la tercera tabla de la web.
        html_table(fill=T) -> x
        #Lo guardamos en un csv.
View(x)
#Miramos que la tabla sea la correcta.
write.csv(x, "mis_datos_wikipedia.csv")

Espero que os haya servido, un saludo: D


Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comentarios:

Publicar un comentario