r-Rstudio网络抓取-Rvest返回字符(0)



我正在做一个本科生项目,要求我从多个airbnb列表中提取以下数据。

以下是一个示例:https://www.airbnb.com.sg/rooms/49091?_set_bev_on_new_domain=1582777903_ZWE4MTBjMGNmYmFh&source_impression_id=p3_1582778001_lB%2BjT8%2BWgIsL%2FrBV

我需要的以下数据是1位客人,1间卧室,1张床,1间浴室。然而,当我使用CSS选择器工具时,我的路径是".bb2fuovg"。

当我运行以下代码时,这将返回字符(0(。

library(rvest)
library(dplyr)
url1 <- read_html("https://www.airbnb.com.sg/rooms/49091?_set_bev_on_new_domain=1582777903_ZWE4MTBjMGNmYmFh&source_impression_id=p3_1582778001_lB%2BjT8%2BWgIsL%2FrBV")
url1 %>%
html_nodes("._b2fuovg") %>%
html_text()

并且下面的输出是

> url1 %>%
+   html_nodes("._b2fuovg") %>%
+   html_text()
character(0)

非常感谢任何正确方向的建议或指导!:(

我建议使用Selector小工具来确定要抓取的节点:https://selectorgadget.com/

它通过点击你想要的信息来工作。还将包括的其他信息将以黄色显示。如果你不想要这些,点击它们变红。你会注意到屏幕底部有一个小条,上面有一些文字。这就是您想要包含在html_nodes()中的内容。在这种情况下,我得到了"_1b3ij9t+div"。果不其然,这似乎奏效了:

url1 %>%
html_nodes("._1b3ij9t+ div") %>%
html_text()
[1] "1 guest · 1 bedroom · 1 bed · 1 bathroom"

最新更新