R使用readHTMLTable时出错

时间:2013-06-11 13:18:21

标签: r

我使用以下代码:

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"

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

由于

2 个答案:

答案 0 :(得分:14)

由于我无法复制您的错误,因此很难确定,但根据软件包的作者(请参阅http://comments.gmane.org/gmane.comp.lang.r.mac/2284),XML获取Web内容的方法非常简约。解决方法是使用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)

答案 1 :(得分:0)

我得到了与上面相同的错误&#34;未能加载外部实体&#34;使用时 url&lt; - &#34; http://www.cisco.com/c/en/us/products/a-to-z-series-index.html&#34; doc&lt; - htmlTreeParse(url,useInternal = TRUE)

我遇到了这个和另一篇关于这个主题的帖子,但没有解决我的问题。此代码以前有效。然后我意识到我在公司VPN上。我下了VPN并重新尝试了它的工作原理。因此,在VPN上可能是您获得上述错误的另一个原因。离开VPN解决了它。