Estimado Carlos Ortega
Tal como me lo sugiere mire el xpath, y encontré dos problemas, el primero es el
más complicado, y es referido al uso de JavaScript, posiblemente habría que
plantear utilizar node.js para no tener problemas, pero no lo experimente.
El segundo problema lo expongo con un ejemplo, es muy simple de leer, si
cualquiera copia y pega debería acceder a un listado de países, tal como está el
sitio de Wikipedia. Pero si uno quiere extraer las imágenes tiene problemas (a
eso no lo envío en el código), lo importante es que pude reproducir el error
informado como R como carácter(0), en realidad no vendría por el lado de R,
aunque parezca extraño, el selector para Argentina es #mw-content-text >
table > tbody > tr:nth-child(12) > td:nth-child(1) > span > img,
para Acrotiri y Dhekelia es #mw-content-text > table > tbody >
tr:nth-child(2) > td:nth-child(1) > a > img, resumiendo algunos
terminan con >span>img y otros con >a>img, son pocos los que tienen
esas diferencias, pero son los que causan el error.
Ahora, escribir en R para cada error para obtener las banderas para el país
correspondiente, ?, que trabajo, no lo se.
El código con la parte que funciona, sin solicitar las banderas de los países es
el siguiente:
library(rvest)
listado_de_paises =
read_html("https://es.wikipedia.org/wiki/Anexo:Pa%C3%ADses")
#get the table
paises_table = listado_de_paises %>%
html_node(".wikitable") %>%
html_table()
paises_table
nombre <- listado_de_paises %>%
html_node(".wikitable") %>%
html_nodes("td:nth-child(3)")
nombre
pais_nombre <- listado_de_paises %>%
html_node(".wikitable") %>%
html_nodes("td:nth-child(2) > i > a") %>%
html_attr("title")
pais_nombre
pais_link <- listado_de_paises %>%
html_node(".wikitable") %>%
html_nodes("td:nth-child(2) > i > a") %>%
html_attr("href")
pais_link
pais_continente <- listado_de_paises %>%
html_node(".wikitable") %>%
html_nodes("td:nth-child(4) > a") %>%
html_attr("title")
pais_continente
Javier Rubén Marcuzzi
De: Carlos Ortega
Enviado: miércoles, 7 de diciembre de 2016 13:45
Para: Marcuzzi, Javier Rubén
CC: r-help-es
Asunto: Re: [R-es] rvest
Sí, la sugerencia es que mires el "xpath" que es la única dependencia
que tiene tu código.
Algo habrá cambiado en la página que está haciendo que ahora no te funcione.
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 7 de diciembre de 2016, 0:39, <javier.ruben.marcuzzi en gmail.com>
escribió:
Estimados
Hace un tiempo que no uso rvest, corrí un código viejo, anda sin problemas,
escribo el nuevo y hay algo que me olvide.
Básicamente desde el navegador de internet selecciono el xpath, copio y pego
este en R, pero me sale el siguiente error.> text <- Pagina.R %>%
+ html_nodes(xpath='//*[@id="content"]/p')%>%
+ html_text()> text
character(0)
Miré mi código viejo junto con el sitio que funciona, pero le hice una
modificación para que ande (algo en el xpath) pero hoy no recuerdo la parte
técnica.
Básicamente hay una lista y recorro los elementos de esta (como si fuese una
tabla, pero no lo es), tomando la palabra y la dirección del enlace, nada
complicado.
No me doy cuenta el charácter(0)
El ejemplo de las películas con selector css me anda, pero al pasarlo a xpath
también tengo errores.
Alguna sugerencia.
Javier Rubén Marcuzzi
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]