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