[R-es] htmlParse - duda con NA

Javier Marcuzzi javier.ruben.marcuzzi en gmail.com
Jue Mar 12 16:33:08 CET 2015


Estimado Manuel J. Sánchez Franco

No hace mucho estoy realizando algunas cosas muy semejantes a las que usted
describe. Básicamente use tres librerías, diría que cada una tiene un punto
fuerte sobre las otras. Pero hay dos puntos que están casi sobre R, el
primero es si usted automatiza a partir de un formulario html, lo que no es
lo mismo que automatizar wikipedia, y lo segundo es imposible separar el
códifo r, de la conección a internet, y del acceso al html, tengo ejemplos
que en un lado funcionan y en otro no, cosas que aún no comprendo.

De pronto, su código R es bueno pero al procesar html, aparecen los
errores, no por R o por el html, por la combinación de ambos (RxHtml).

Usted tiene dos clases, review y pos o neg, las cuáles podrían ser
interpretadas como css, si se está una no está la otra, por lo que
posiblemente un if solucione el problema. Pero ¿es posible un if dentro de
su código o habría que trabajar algo más?

Javier Marcuzzi

El 12 de marzo de 2015, 11:40, Manuel J. Sánchez Franco <majesus en us.es>
escribió:

>
>
> Estimados colegas,
>
> Soy nuevo en uso de R. Requiero por ello amablemente de su ayuda. Estoy
> realizando una captación de datos de una página web html de comentarios
> turísticos relativos a 10 hoteles. El código que parcialmente empleo es
> el siguiente:
>
> (...)
>
> for (i in seq_len(10)){
>
> txt <- getURL(url=baseURL[i], followlocation = TRUE, encoding="UTF-8")
> # parse html
> text <- htmlParse(txt, asText=TRUE)
>
> t1 <- xpathApply(text, "//span[@class='hotel_name']")
> t2 <- xpathApply(text, "//ul[@class='guest_list']")
> t3 <- xpathApply(text, "//DIV[@CLASS='REVIEW']")
>
> o1 <- sapply(t1, function(x)unname(xmlSApply(x, xmlValue)))
> o2 <- sapply(t2, function(x)unname(xmlSApply(x, xmlValue)))
> o3 <- sapply(t3, function(x)unname(xmlSApply(x, xmlValue)))
>
> ot.t <- cbind(o1,o2,o3)
>
> (...)
>
> }
>
> El problema surge porque dentro de la etiqueta //DIV[@CLASS='REVIEW']
> existen dos subapartados:
>
> -comentarios positivos (<p class="POS">).
>
> -comentarios negativos (<p class="NEG">).
>
> código fuente aclaratorio:
>
> <div class="REVIEW">
> <p class="POS">La amabilidad</p><p class="NEG">La bañera</p>
> </div>
>
> Le señalo además que cuando no hay comentarios positivos o negativos el
> código fuente html no muestra <p class="pos"> o <p class="neg">. Ahí
> está la clave del problema. El huésped no siempre deja mensajes
> positivos o negativos, de tal modo que cuando ejecuto la programación
> que barre el código html, me desordena los comentarios realizados entre
> huéspedes. Es decir, si el huésped 2 no realiza comentarios negativos y
> el huésped 3 sí, los comentarios negativos del huésped 3 los asigna al
> huésped 2.
>
> En suma, necesitaría que me orientase para que en caso de ausencia de
> comentarios positivos o negativos asignara un valor (NA) al huésped 2 en
> cada tipo de comentario (positivo o negativo) ausente.
>
> Espero su amable respuesta,
>
> Manuel
>
> --
> _______________________________________________________
>
> Manuel J. Sánchez Franco
> Departamento de Administración de Empresas y Marketing
> Facultad de Ciencias Económicas y Empresariales
> Universidad de Sevilla
> Avda. Ramón y Cajal, 1. 41018-SEVILLA (ESPAÑA)
> Tf.- 95 455 75 42. Fax.- 95 455 69 89
>
>         [[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
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es