Pregunta

Me gustaría leer el contenido de una URL (EQ, http://www.haaretz.com/ ) en R. me pregunto cómo puedo hacerlo

¿Fue útil?

Solución

No es muy seguro cómo desea procesar esa página, porque es muy desordenado. A medida que re-aprendido en esta cuestión StackOverflow famosa , que no es una buena idea hacer una expresión regular en hTML, por lo que definitivamente va a querer analizar esto con el paquete XML.

Este es 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()" 

Otros consejos

Su mejor apuesta puede ser el paquete XML - véase, por ejemplo, esto pregunta anterior .

Sé que pidió R. Pero tal vez pitón + beautifullsoup es el camino a seguir aquí? A continuación, hacer su investigación con R se han raspado la pantalla con beautifullsoup?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top