Hola buenos dÃas: Os remito una duda (en un documento word para su mejor expresión) sobre el uso de la libreria rvest. Mi problema es que como no soy informatico me pierdo un poco, he visto los ejemplos que hay colgados y los he seguido, pero el tema es que quiero acceder a los datos del INE, que en ocasiones estan un poco escondidos con menu de selecciones y no se como hacerlo con rvest para llegar hasta la solucion final. Lo anterior si lo he hecho (y lo sigo haciendo) con Rselenium gracias a que use un ejemplo de Gregorio Serrano, pero quiero pasar esos primeros codigos a rvest y por eso es por lo que solicito vuestra ayuda Remito fichero adjunto para aclarar un ejemplo de los que uso Un saludo y muchas gracias ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20151223/e40ed9e3/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: Duda_Uso_rvest.docx Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document Size: 39475 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20151223/e40ed9e3/attachment-0001.bin>
[R-es] Instrucciones uso rvest
4 messages · Javier Marcuzzi, Francisco Rodríguez, Francisco Viciana
Estimado Francisco RodrÃguez Creo que del ejemplo de Gregorio Serrano tomé algo, no recuerdo todo y no alcanzo a buscarlo y leerlo, sin embargo le envÃo dos partes que puede copiar y pegar, posiblemente de estos pueda tomar algo, no respondo su pregunta pero espero que sirva para que usted pruebe con las modificaciones necesarias y llegar a su objetivo. library(rvest) url <- "https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm" s <- html_session(url) f0 <- html_form(s) f1 <- set_values(f0[[2]], priceDate.year=2014, priceDate.month=12, priceDate.day=15) test <- submit_form(s, f1) b <- test reviews <- b %>% html_nodes(".data1") %>% html_text() reviews reviews <- b %>% html_nodes(".data1") %>% html_table() reviews library(rvest) Pagina.R <- html(x = "http://www.verema.com/vinos/portada") text <- Pagina.R %>% # html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>% html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>% html_text() text values <- Pagina.R %>% # html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>% html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>% # html_attr("option value") html_attr("value") values Res <- data.frame(text = text, values = values, stringsAsFactors = FALSE) Res Si hay un combobox, lista desplegable, etc., me encontré con problemas que no supe resolver, en algunos casos traÃa el resultado, en otros el php, o el php no se ejecutaba en el servidor para realizar la consulta, algo fallaba, por como venÃan los resultados supongo que estaba escrito con Dreamweaver (algo medio obsoleto pero tiene la información). Le envié un correo sobre eso al autor de rvest, me respondió pero no me dijo nada sobre el problema, si pudo solucionarlo, si escribà mal mi código, desconozco, en unos dÃas tendré que ejecutar nuevamente esos archivos y resolver ese problema. Javier Marcuzzi De: Francisco RodrÃguez Enviado: miércoles, 23 de diciembre de 2015 8:33 Para: r-help-es en r-project.org Asunto: [R-es] Instrucciones uso rvest Hola buenos dÃas: Os remito una duda (en un documento word para su mejor expresión) sobre el uso de la libreria rvest. Mi problema es que como no soy informatico me pierdo un poco, he visto los ejemplos que hay colgados y los he seguido, pero el tema es que quiero acceder a los datos del INE, que en ocasiones estan un poco escondidos con menu de selecciones y no se como hacerlo con rvest para llegar hasta la solucion final. Lo anterior si lo he hecho (y lo sigo haciendo) con Rselenium gracias a que use un ejemplo de Gregorio Serrano, pero quiero pasar esos primeros codigos a rvest y por eso es por lo que solicito vuestra ayuda Remito fichero adjunto para aclarar un ejemplo de los que uso Un saludo y muchas gracias
Hola Javier muchas gracias, he probado con la primera de las opciones que parece más sencilla: En principio su código funciona y entiendo lo que hace, el problema es cuando trato de adaptarlo a lo que quiero, yo hago lo siguiente: library(rvest) url <- "http://www.ine.es/jaxiT3/Tabla.htm?t=10280&L=0" s <- html_session(url)f0 <- html_form(s)f1 <- set_values(f0[[2]], busc_70710 = '442439', busc_70711 = '442458', busc_70712 = '442460', busc_periodo = '10~2015') test <- submit_form(s, f1, submit = 'ct') Pero creo que hay algo que estoy haciendo mal, porque para el caso del INE no me sale, cuando llego a la opción del submit_form Creo que está en la forma de asignar los valores anteriores. Voy a probar con varias opciones a ver si en estos dÃas lo consigo, pero con tus indicaciones, al menos me has sacado un poco de la duda aunque aún sigo en ella parcialmente. Si se te ocurre (o se os ocurre) algo más os lo agradezco. Por mi parte cuando lo consiga (si lo logro) comparto el código Un saludo y gracias To: fjroar en hotmail.com; r-help-es en r-project.org From: javier.ruben.marcuzzi en gmail.com Subject: RE: [R-es] Instrucciones uso rvest Date: Wed, 23 Dec 2015 10:27:01 -0300 Estimado Francisco RodrÃguez Creo que del ejemplo de Gregorio Serrano tomé algo, no recuerdo todo y no alcanzo a buscarlo y leerlo, sin embargo le envÃo dos partes que puede copiar y pegar, posiblemente de estos pueda tomar algo, no respondo su pregunta pero espero que sirva para que usted pruebe con las modificaciones necesarias y llegar a su objetivo. library(rvest)url <- "https://www.treasurydirect.gov/GA-FI/FedInvest/selectSecurityPriceDate.htm" s <- html_session(url)f0 <- html_form(s)f1 <- set_values(f0[[2]], priceDate.year=2014, priceDate.month=12, priceDate.day=15)test <- submit_form(s, f1)b <- test reviews <- b %>% html_nodes(".data1") %>% html_text()reviews reviews <- b %>% html_nodes(".data1") %>% html_table()reviews library(rvest) Pagina.R <- html(x = "http://www.verema.com/vinos/portada") text <- Pagina.R %>% # html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>% html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>% html_text() text values <- Pagina.R %>% # html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>% html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>% # html_attr("option value") html_attr("value") values Res <- data.frame(text = text, values = values, stringsAsFactors = FALSE)Res Si hay un combobox, lista desplegable, etc., me encontré con problemas que no supe resolver, en algunos casos traÃa el resultado, en otros el php, o el php no se ejecutaba en el servidor para realizar la consulta, algo fallaba, por como venÃan los resultados supongo que estaba escrito con Dreamweaver (algo medio obsoleto pero tiene la información). Le envié un correo sobre eso al autor de rvest, me respondió pero no me dijo nada sobre el problema, si pudo solucionarlo, si escribà mal mi código, desconozco, en unos dÃas tendré que ejecutar nuevamente esos archivos y resolver ese problema. Javier Marcuzzi De: Francisco RodrÃguez Enviado: miércoles, 23 de diciembre de 2015 8:33 Para: r-help-es en r-project.org Asunto: [R-es] Instrucciones uso rvest Hola buenos dÃas: Os remito una duda (en un documento word para su mejor expresión) sobre el uso de la libreria rvest. Mi problema es que como no soy informatico me pierdo un poco, he visto los ejemplos que hay colgados y los he seguido, pero el tema es que quiero acceder a los datos del INE, que en ocasiones estan un poco escondidos con menu de selecciones y no se como hacerlo con rvest para llegar hasta la solucion final. Lo anterior si lo he hecho (y lo sigo haciendo) con Rselenium gracias a que use un ejemplo de Gregorio Serrano, pero quiero pasar esos primeros codigos a rvest y por eso es por lo que solicito vuestra ayuda Remito fichero adjunto para aclarar un ejemplo de los que uso Un saludo y muchas gracias
4 days later
Creo que es mucho mas sencillo que te descargues el fichero completo con
toda la serie y luego selecciones los datos que te interesa en R. Por
ejemplo puedes descargar toda la serie en formato pc-Axis e importarlo
con el paquete "pxR". Adjunto ejemplo:
download.file('http://www.ine.es/jaxiT3/files/t/es/px/10280.px',
destfile = '10280.px')
datos <- read.px('10280.px',encoding='latin1') # bug sin "encoding"
df <- as.data.frame(datos)
names(df)
my.df <- subset(df, Comunidades..Provincias.y.Ciudades.Autónomas
=='AndalucÃa' &
Número.importe == 'Número' &
Entidad.que.concede.el.préstamo == 'Todas las
entidades' &
Periodo %in% c("2015M10","2015M09")
)
my.df
On 23/12/15 12:33, Francisco RodrÃguez wrote:
Hola buenos dÃas: Os remito una duda (en un documento word para su mejor expresión) sobre el uso de la libreria rvest. Mi problema es que como no soy informatico me pierdo un poco, he visto los ejemplos que hay colgados y los he seguido, pero el tema es que quiero acceder a los datos del INE, que en ocasiones estan un poco escondidos con menu de selecciones y no se como hacerlo con rvest para llegar hasta la solucion final. Lo anterior si lo he hecho (y lo sigo haciendo) con Rselenium gracias a que use un ejemplo de Gregorio Serrano, pero quiero pasar esos primeros codigos a rvest y por eso es por lo que solicito vuestra ayuda Remito fichero adjunto para aclarar un ejemplo de los que uso Un saludo y muchas gracias
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
+-------------------------------------------------------------- | Francisco J. Viciana Fernández | Coordinador del Registro de Población | Servicio de EstadÃsticas Demográficas y Sociales | Instituto de EstadÃstica y CartografÃa de AndalucÃa | Leonardo Da Vinci, nº 21. Isla de La Cartuja. | 41071 SEVILLA. | franciscoj.viciana en juntadeandalucia.es +-------------------------------------------------------------- [[alternative HTML version deleted]]