我想提取有关房间评级的信息(准确性,沟通,清洁度,位置,登记入住,价值)。
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;字符串。
答案 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]