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 решает это.