Question

Je voudrais lire (eq le contenu d'une URL, http://www.haaretz.com/ ) R. Je me demande comment je peux le faire

Était-ce utile?

La solution

Pas vraiment sûr de savoir comment vous voulez traiter cette page, parce qu'il est vraiment en désordre. Comme nous réappris dans cette fameuse question stackoverflow , ce n'est pas une bonne idée de faire regex en html, vous voudrez certainement analyser cela avec le package XML.

Voici un exemple pour vous aider à démarrer:

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("", "|"))]

Il en résulte un vecteur de caractère de texte surtout juste page Web (avec 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()" 

Autres conseils

Votre meilleur pari peut être le package XML - voir par exemple cette question précédente .

Je sais que vous avez demandé R. Mais peut-être python + beautifullsoup est la voie à suivre ici? Ensuite, faites votre analyse avec R que vous avez gratté l'écran avec beautifullsoup?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top