2016-06-07 99 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