R ошибка при использовании readHTMLTable

Я использую следующий код:

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 в браузере, он отлично работает. Итак, что я делаю неправильно?

спасибо

2 ответов


трудно знать наверняка, так как я не могу воспроизвести вашу ошибку, но, согласно автору пакета (см. 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)

Я просто получил ту же ошибку, что и выше "не удалось загрузить внешний объект" при использовании url http://www.cisco.com/c/en/us/products/a-to-z-series-index.html" doc

Я столкнулся с этим и другим сообщением по этой теме, что не решило мою проблему. Этот код работал раньше. Затем я понял, что нахожусь в корпоративной VPN. Я вышел из VPN и попробовал еще раз, и это сработало. Таким образом, на VPN может быть еще одна причина, по которой вы получите вышеуказанная ошибка. Выход из VPN решает это.