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, <[email protected]> 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
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es


        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a