使用网页进行网页搜索。从网页中提取评分标记

时间:2016-05-24 08:38:22

标签: r web-scraping

我想提取有关房间评级的信息(准确性,沟通,清洁度,位置,登记入住,价值)。

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"

据我了解,这是&#34; Accuracy&#34;的代码。房间的评级。 我想提取&#34;内容=&#39; 4.5&#39;&#34;和估计的名称&#34;准确性&#34;。 我怎样才能做到这一点?问题是,在源代码中有很多这样的&#34; Content =&#34;和&#34;准确度&#34;字符串。

1 个答案:

答案 0 :(得分: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]