2016-06-07 53 views
0

例如,我想提取的價格(右上)和空間(可容納:2,浴室:1等)https://www.airbnb.com/rooms/12949270?guests=1&s=_JaPbz-J使用xpathSApply進行網頁抓取。獲得xmlValue

這裏是我的明碼標價:

remDr$navigate(url) 
doc <- htmlParse(remDr$getPageSource()[[1]]) 
var <- remDr$findElement('id','details') 

varxml <- htmlTreeParse(vartxt, useInternalNodes=T) 
Price <- xpathApply(varxml,"//div[@class='book-it__price-amount h3 text-special pull-left']",xmlValue) 

但它返回空列表。可能是因爲課程「'book-it__price-amount h3 text-special pull-left''不是上層課程?如果是這樣 - 如何糾正?如果不是,我在哪裏犯了一個錯誤?

+1

例如,[服務條款](https://www.airbnb.com/terms?locale=en)說_「關於您使用網站,應用程序,服務和集體內容,您不可以和您同意您不會:(...)使用手動或自動軟件,設備,腳本,r以及訪問,「抓取」,「抓取」或「蜘蛛」網站,應用程序,服務或集體內容中包含的任何網頁或其他服務「,」後門「或其他手段或過程。什麼,如果他們因爲你的活動而破產? – lukeA

回答

0

對於我來說,下面的代碼是可行的:關於網絡上的禁止使用的刮板一般來說,如果不允許使用刮板,如果您將數據用於商業目的,或者您定期發送請求,那麼就會冒風險,所以取決於您如何使用它

library(RCurl) 
library(XML) 

url<-getURL("https://www.airbnb.cz/rooms/12949270?guests=1&s=_JaPbz-J",ssl.verifypeer = F) 
url2<-htmlParse(url) 
Price <- xpathSApply(url2,"//div[@class='book-it__price-amount h3 text-special pull-left']",xmlValue) 
conditions <- xpathSApply(url2,"//div[@class='col-md-6']",xmlValue) 
+0

哦,我用一點點其他方法: 請看看我編輯的代碼版本。我用Rselenium來刮我的東西 – YNWA1992