r语言 - 错误:无法加载外部实体"http://......."



问题

我正在尝试复制这个视频中的网络抓取。

最终,我想在Power BI的R Script编辑器中运行代码,但我收到的错误表明我没有安装包data.table。然后我尝试在RStudio中运行代码,并确保安装了必要的包和库。当我用http运行代码时,我得到了错误Failed to load external entity "http://......."

我不确定我做错了什么。有故障排除建议吗?

代码

library(data.table)
library(XML)
pages <- c(1:25)
urls <- rbindlist(lapply(pages, function(x) {
url <- paste("http://www.r-users.com/jobs/page/",x,"/", sep="")
data.frame(url)
}), fill=TRUE)
jobLocations <- rbindlist(apply(urls , 1, function(url) {
doc1 <- htmlParse(url)
locations <- getNodeSet(doc1,'//*[@id="mainContent"]/div[2]/ol/li/dl/dd[3]/span/text()')
data.frame(sapply(locations , function(x) { xmlValue(x)}))
}), fill=TRUE)

这里有同样的错误,但它似乎可以与其他库一起使用,如xml2rvest,所以请尝试以下片段:

library(data.table)
library(rvest)
library(xml2)
pages <- c(1:2)
urls <- rbindlist(lapply(pages, function(x) {
url <- paste("http://www.r-users.com/jobs/page/",x,"/", sep="")
data.frame(url)
}), fill=TRUE)
jobLocations <- data.table::rbindlist(apply(urls, 1, function(url) {    
nodes <- html_nodes(read_html(url), xpath = '//*[@id="mainContent"]/div[2]/ol/li/dl/dd[3]/span/text()')
text <- html_text(nodes)
data.frame(text)
}), fill=TRUE)

最新更新