2016-02-05 63 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