me gustaría leer el contenido de una URL (EQ, http://www.haaretz.com/) en R. Me pregunto cómo puedo hacerlo¿Cómo puedo leer y analizar el contenido de una página web en I
8
A
Respuesta
21
No estoy muy seguro de cómo quieres procesar esa página, porque es muy complicada. Como nos re-learned in this famous stackoverflow question, no es una buena idea hacer regex en html, por lo que definitivamente querrá analizar esto con el paquete XML.
He aquí un ejemplo para empezar:
require(RCurl)
require(XML)
webpage <- getURL("http://www.haaretz.com/")
webpage <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
# parse the tree by tables
x <- xpathSApply(pagetree, "//*/table", xmlValue)
# do some clean up with regular expressions
x <- unlist(strsplit(x, "\n"))
x <- gsub("\t","",x)
x <- sub("^[[:space:]]*(.*?)[[:space:]]*$", "\\1", x, perl=TRUE)
x <- x[!(x %in% c("", "|"))]
Esto se traduce en un vector de caracteres de texto en su mayoría sólo la página (junto con algo de JavaScript):
> head(x)
[1] "Subscribe to Print Edition" "Fri., December 04, 2009 Kislev 17, 5770" "Israel Time:Â 16:48Â (EST+7)"
[4] "Â Â Make Haaretz your homepage" "/*check the search form*/" "function chkSearch()"
3
Su mejor apuesta puede ser el paquete XML; consulte, por ejemplo, este previous question.
2
sé que solicitó R . Pero tal vez Python + beautifullsoup es el camino a seguir aquí? Entonces haz tu análisis con R has raspado la pantalla con beautifullsoup?
Cuestiones relacionadas
- 1. ¿Cómo puedo analizar el contenido dinámico de una página web?
- 2. ¿Cómo puedo obtener el contenido de la página web
- 3. Cómo leer una página web completa en una variable
- 4. Cómo leer desde el puerto serie en una página web
- 5. Web scraping - cómo identificar contenido principal en una página web
- 6. ¿Cómo leer el contenido del sitio web en C#?
- 7. PHP: ¿cómo puedo cargar el contenido de una página web en una variable?
- 8. Cómo puedo obtener el contenido de la página web y guardarlo en la variable de cadena
- 9. ¿Puedo analizar la lista de directorios de una página web externa?
- 10. Inyectando texto cuando se copia contenido de una página web
- 11. Cómo establecer el título de la página desde una página de contenido web en ASP.NET 3.5
- 12. ¿Cómo leer un texto de una página web con Java?
- 13. Leer y analizar el archivo de texto en octava/matlab
- 14. Leer el contenido de un archivo usando una ruta relativa en una aplicación web
- 15. Contenido ActiveX en una página web local, y "la marca de la web"
- 16. En Python 3.2, puedo abrir y leer una página web HTTPS con http.client, pero urllib.request no abre la misma página
- 17. ¿Cómo obtener el contenido de una página remota con JavaScript?
- 18. Copiar el contenido de la página web - y pegar contenido + enlace
- 19. Contenido central de la página web
- 20. Bibtex en una página web?
- 21. ¿Cómo puedo modificar una página web usando el script de contenido de google chrome antes de procesar el DOM?
- 22. analizar y leer una clave pública en Java
- 23. ¿Cómo puedo leer el contenido de un archivo en una lista en Lisp?
- 24. Cómo desvanecerse en una página web completa -
- 25. Ajustar el contenido de la página web dentro de una vista web (Android)
- 26. ¿Cómo puedo detectar cuándo se carga una página web?
- 27. ¿Cómo puedo establecer valor de la cookie en una página y leerlo desde otra página en un sitio web asp.net
- 28. ¿Cómo funciona el hash de todo el contenido de una página web?
- 29. ¿Cómo puedo leer el contenido del encabezado de disposición de contenido?
- 30. Perl: leer el archivo de texto web y "abrirlo"
Pero, ¿cómo puede deshacerse de las etiquetas html correctamente. Sé que puedo escribir una expresión RegEx, pero ¿hay algún paquete que haga que la codificación sea menos dramática? – Mark