2016-02-05 104 views
0

早上好,我試圖解析與下面的代碼的網頁,但最後一行橫空出世的如何使用R加載HTTP資源?

failed to load HTTP resource

輸出誰能告訴我該如何處理呢?謝謝!代碼是:

url3<- "http://www.atb.com.tn/devise" 
getdata3<- readHTMLTable(url3, stringAsFactor = FALSE, isURL = TRUE) 
+0

它在我的瀏覽器很可能 – Foufou

+0

更正常工作,它是一個連接問題。我會建議檢查網址,主機服務器和你自己單獨的連接頁面 – 2016-02-25 03:20:21

回答

1

不需要硒。只需在瀏覽器開發人員工具中挖掘一下。它動態加載資源/devise。這是數據表。該網站還嘗試使用瀏覽器用戶代理字符串來防止抓取(儘管抓取並不違反其使用條款)和會話cookie,以確保您首先訪問其他網頁。你可以用rvest獲得數據:

library(rvest) 

sess <- html_session("http://www.atb.com.tn/", 
         user_agent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.39 Safari/537.36")) 
pg <- jump_to(sess, "http://www.atb.com.tn/devise") 

dat <- content(pg$response, as="parsed") 

html_table(html_nodes(dat, "table")[[2]], header=TRUE) 

## Monnaies     NA Sigle Unité Achat Vente 
## 1  NA  DOLLAR CANADIEN CAD  1 1.438 1.459 
## 2  NA  COURONNE DANOISE DKK 100 29.625 30.072 
## 3  NA   YEN JAPONAIS JPY 1000 16.910 17.165 
## 4  NA  DINAR KOWEITIEN KWD  1 6.569 6.668 
## 5  NA COURONNE NORVEGIENNE NOK 100 23.201 23.551 
## 6  NA  RYAL DE QATAR QAR 10 5.424 5.505 
## 7  NA  RYAL SAOUDIEN SAR 10 5.266 5.345 
## 8  NA COURONNE SUEDOISE SEK 10 2.350 2.386 
## 9  NA   FRANC SUISSE CHF 10 19.858 20.158 
## 10  NA  DIRHAM DES EAU AED 10 5.377 5.458 
## 11  NA  LIVRE STERLING GBP  1 2.871 2.914 
## 12  NA  DOLLAR DES USA USD  1 1.974 2.004 
## 13  NA     EURO EUR  1 2.211 2.245 
## 14  NA  DINAR BAHREINI BHD  1 5.237 5.316 
## 15  NA   DINAR LIBYEN LYD  1 1.424 1.445 
+0

非常感謝你「hrbrmstr」,但他不能接受函數user_agent。你能幫我嗎 ? – Foufou

+0

確保你已經更新了'rvest'並且安裝了'httr'(儘管這是'rvest'的一個要求,所以我真的不知道你有什麼問題) – hrbrmstr

+0

我再次嘗試,它可以工作,但在第三個命令行它顯示我這個錯誤:沒有提供編碼:默認爲UTF-8。當我花了最後的命令時,他說索引超出範圍 – Foufou