2015-08-29 47 views
1

为了自我学习的目的(网络爬行),我想从Trip Advisor网站提取用户给出的评分。以下是我用R编写的代码,但它不起作用。你能建议我还是给我正确的代码?我也没有成功使用Rvest软件包。从Trip Advisor提取星级评分

library(XML) 
dat <- readLines("http://www.tripadvisor.in/Hotel_Review-g60763-d93450-Reviews-Grand_Hyatt_New_York-New_York_City_New_York.html", warn=FALSE) 
raw2 <- htmlTreeParse(dat, useInternalNodes = TRUE) 

##Rating 
data <- xpathApply(raw2,"//div[@class='col2of2']//span[@class='rate sprite-rating_s rating_s']/img[@alt]",xmlValue) 
Rating <- sapply(data,function(x) xmlAttrs(x)["alt"]) 
Result <- unlist(Rating) 
Result 
+1

如果你是一个法律/ TOS守法编码器,你不这样做(参考:http://www.tripadvisor.com/pages/terms.html) ,而你会看到关于浏览他们的[API](https://developer-tripadvisor.com/content-api/)。 – hrbrmstr

+0

谢谢你让我知道。我是R新手,并将其用于自我学习的目的。 –

+0

我可以想像很多其他网站会更好的“学习目的”。 – hrbrmstr

回答

1

您可以使用

##Rating 
Result <- xpathSApply(raw2,"//div[@class='col2of2']//span[@class='rate sprite-rating_s rating_s']/img", xmlGetAttr, "alt") 
+0

非常感谢!你总是帮助我。它的工作。 –