我接收嘗試中的R用rvest
包時以下錯誤:錯誤open.connection(X, 「RB」):無法連接到服務器
錯誤open.connection(X ,「rb」):無法連接到服務器
什麼是導致此錯誤訊息?功能如下所示:
htmlpage <- read_html("http://forecast.weather.gov/MapClick.php?lat=42.27925753000045&lon=-71.41616624299962#.V17UH-IrKHs")
我接收嘗試中的R用rvest
包時以下錯誤:錯誤open.connection(X, 「RB」):無法連接到服務器
錯誤open.connection(X ,「rb」):無法連接到服務器
什麼是導致此錯誤訊息?功能如下所示:
htmlpage <- read_html("http://forecast.weather.gov/MapClick.php?lat=42.27925753000045&lon=-71.41616624299962#.V17UH-IrKHs")
你必須打開一個會話,然後從中讀取
htmlpage <- html_session("http://forecast.weather.gov/MapClick.php?lat=42.27925753000045&lon=-71.41616624299962#.V17UH-IrKHs", httr::user_agent("Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20"))
htmlpage %>%
read_html() %>%
html_text()
仍然不起作用,我得到相同的錯誤 –
我原本在辦公室時在我的HP ZBook工作計算機上出現此錯誤。當我將工作電腦連接到熱點時,問題就消失了。同樣,當我在家中使用我的個人HP時,我沒有收到同樣的錯誤。我想這個問題是由我公司辦公室的安全設置造成的。 –
的問題是,你的工作電腦一直在尋找貴公司的代理服務器,而出現這種情況無論你是否在工作,或使用熱點,甚至在家中。
克服這個最簡單的方法是將參數atWork
添加到您的函數,然後用httr::use_proxy()
函數來設置適當的代理使用:
myFunction <- function(arg1, atWork)
if(atWork){
proxy.string <- use_proxy("http://proxy-server.YourCompanyName.com", port = 8080)
} else {
proxy.string <- use_proxy("")
}
# then open a session
sess <- html_session(myUrl, proxy.string)
do stuff here
return(result)
}
當然
,你將需要更換proxy-server.YourCompanyName
您的實際公司的代理服務器網址。
我嘗試了不同的方法,問題不在代理連接中,而是以R獲取連接的方式進行。通過使用url(your_url,「rb」)定義二進制連接,問題就解決了。
con <- url("http://www.imdb.com/title/tt1490017/", "rb")
lego_movie <- read_html(con)
對我來說運行良好。可以簡單地做你的互聯網連接。 – joran
也有同樣的問題。你在哪種計算機上運行代碼? –