2016-05-24 10 views
0

ルームの評価に関する情報(精度、コミュニケーション、清潔、場所、チェックイン、バリュー)を抽出しました。Web-Scraping with R. Webページからレーティングマークを抽出

url <- "https://www.airbnb.com/rooms/8400275" 
con <- file (url) 
raw <- readLines (con) 
close (con) 

今、私は情報を抽出するのに役立つ文字列が必要です。

data-reactid=".1tzzodvxlvk.1.0.0.0.0.0.3.0.0.1.0"><div class="col-lg-6" 
data-reactid=".1tzzodvxlvk.1.0.0.0.0.0.3.0.0.1.0.$col-0"><div data 
reactid=".1tzzodvxlvk.1.0.0.0.0.0.3.0.0.1.0.$col-0.$Accuracy"><div 
class="pull-right" data 
reactid=".1tzzodvxlvk.1.0.0.0.0.0.3.0.0.1.0.$col-0.$Accuracy.0"><div 
class="star-rating-wrapper" data 
reactid=".1tzzodvxlvk.1.0.0.0.0.0.3.0.0.1.0.$col-0.$Accuracy.0.0"> 
class="star-rating" content="4.5" 

私は理解されるように、これは部屋の「精度」の評価のコードは: ソースコードで、私はそのような行を発見しました。 "Content = '4.5'"と推定値 "Accuracy"を抽出したいと思います。 どうすればいいですか?問題は、ソースコードにこのような "Content ="と "Accuracy"という文字列がたくさんあることです。

答えて

1

この特定のページについては、この方法を使用できます。しかし、コードは非常に堅牢ではなく、他のページの成功は構造が同じであるかどうかによって決まります

library(RCurl) 
library(XML) 

url<-"https://www.airbnb.com/rooms/8400275" 
url2<-getURL(url) 
parsed<-htmlParse(url2,encoding="UTF-8") 
xpathSApply(parsed,"//div[@class='col-lg-6']//strong",xmlValue)[1] 
xpathSApply(parsed,"//div[@class='star-rating-wrapper']//div[@class='star-rating']",xmlGetAttr,"content")[3] 
+0

素晴らしい、ありがとう:) – YNWA1992

関連する問題