Как я могу считать и проанализировать содержание веб-страницы в R

Замена строковая функция сделает это.

12
задан Charles Stewart 28 December 2009 в 16:25
поделиться

3 ответа

Не совсем уверен, как вы хотите обрабатывать эту страницу, потому что это действительно беспорядочно. Как мы повторно узнали в этом известном вопросе о stackoverflow , делать регулярное выражение в html - не лучшая идея, поэтому вам определенно захочется проанализировать это с помощью пакета XML.

Вот пример для начала:

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

В результате получается вектор символов, состоящий в основном из текста веб-страницы (вместе с некоторым 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()" 
32
ответ дан 2 December 2019 в 04:02
поделиться

Лучшим выбором может быть пакет XML - см., Например, этот предыдущий вопрос .

3
ответ дан 2 December 2019 в 04:02
поделиться

Я знаю, что вы просили R. Но, может быть, python + beautifullsoup - это путь вперед? Тогда проведите свой анализ с помощью R: вы соскребли экран с помощью beautifullsoup?

2
ответ дан 2 December 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: