【问题标题】:R Error using readHTMLTableR错误使用readHTMLTable
【发布时间】:2013-06-11 13:18:21
【问题描述】:

我正在使用以下代码:

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 时,它工作正常。那么,我在这里做错了什么?

谢谢

【问题讨论】:

  • 你的代码适合我。
  • 它也适用于我。基于stackoverflow.com/questions/14629026/…,听起来这可能是您的互联网连接问题。您可以在浏览器中加载页面吗?
  • 是的,我可以在浏览器中正常加载页面。所以,我认为我的互联网连接很好。
  • 你能在不触发错误的情况下运行library(RCurl); tabs = getURL(url)吗?
  • 代理设置试试这里的方法stackoverflow.com/questions/6467277/proxy-setting-for-r,可以帮到你

标签: r


【解决方案1】:

很难确定,因为我无法复制您的错误,但根据包的作者(请参阅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)

【讨论】:

  • 反响很好。感谢您抽出宝贵时间。
【解决方案2】:

我在使用时遇到了与上面相同的错误“无法加载外部实体” 网址 http://www.cisco.com/c/en/us/products/a-to-z-series-index.html" doc

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

【讨论】:

    猜你喜欢
    • 2012-08-25
    • 2019-11-28
    • 1970-01-01
    • 2016-08-06
    • 2015-01-06
    • 2014-04-08
    • 2018-06-27
    • 1970-01-01
    • 2011-09-19
    相关资源
    最近更新 更多