8

我正在使用以下代码:

url  = "http://finance.yahoo.com/q/op?s=DIA&m=2013-07"

library(XML)
tabs = readHTMLTable(url, stringsAsFactors = F)

我收到以下错误:

Error: failed to load external entity "http://finance.yahoo.com/q/op?s=DIA&m=2013-07"

当我在浏览器中使用 url 时,它工作正常。那么,我在这里做错了什么?

谢谢

4

2 回答 2

16

很难确定,因为我无法复制您的错误,但根据包的作者(请参阅http://comments.gmane.org/gmane.comp.lang.r.mac/2284),XML 获取网络的方法内容非常简约。一种解决方法是用于RCurl获取内容并XML对其进行解析:

library(XML)
library(RCurl)

url <- "http://finance.yahoo.com/q/op?s=DIA&m=2013-07"

tabs <- getURL(url)
tabs <- readHTMLTable(tabs, stringsAsFactors = F)

或者,如果RCurl仍然抛出错误,请尝试以下httr包:

library(httr)

tabs <- GET(url)
tabs <- readHTMLTable(rawToChar(tabs$content), stringsAsFactors = F)
于 2013-06-11T14:15:24.743 回答
0

使用 url <-" http://www.cisco.com/c/en/us/products/a-to-z-series-index.html时,我刚刚收到与上述相同的错误“无法加载外部实体” " doc <- htmlTreeParse(url, useInternal=TRUE)

我遇到了这个和另一个关于这个主题的帖子,它没有解决我的问题。这段代码以前有效。然后我意识到我在使用企业 VPN。我下了VPN并再次尝试,它成功了。因此,使用 VPN 可能是您收到上述错误的另一个原因。下车 VPN 解决了​​它。

于 2014-11-02T20:48:27.410 回答