我使用此脚本从网页中提取文本
url <- "http://www.dlink.com/it/it"
doc <- getURL(url)
#get the text from the body
html <- htmlTreeParse(doc, useInternal = TRUE)
txt <- xpathApply(html, "//body//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)]", xmlValue)
txt<-toString(txt)
但问题是它只需要第一页中的单词,如何将其扩展到整个网站?
答案 0 :(得分:0)
我选择rvest
来填充链接并purrr
进行迭代:
library(rvest)
library(purrr)
url <- "http://www.dlink.com/it/it"
r <- read_html(url) %>%
html_nodes('a') %>%
html_attr('href') %>%
Filter(function(f) !is.na(f) & !grepl(x = f, pattern = '#|facebook|linkedin|twitter|youtube'), .) %>%
map(~{
print(.x)
html_session(url) %>%
jump_to(.x) %>%
read_html() %>%
html_nodes('body') %>%
html_text() %>%
toString()
})
我从链接列表中筛选出社交网络和死链接,可能会有一些调整。
请注意,你会伤害很多垃圾。可能需要针对每个页面内部的内容进行更多定位(即:比整个body
标记更具特色的内容)