【问题标题】:Rstudio Webscraping - Rvest returns character(0)Rstudio Webscraping - Rvest 返回字符(0)
【发布时间】:2020-03-05 05:35:55
【问题描述】:

我正在从事一个本科项目,我需要从多个 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 选择器工具时,我的以下路径是“._b2fuovg”。

当我运行以下代码时,这将返回字符 (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)

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

【问题讨论】:

    标签: r web-scraping rvest


    【解决方案1】:

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

    它通过单​​击您想要的信息来工作。也将包含的其他信息将显示为黄色。如果您不想要这些,请单击它们将它们变为红色。您会注意到屏幕底部有一个带有一些文字的小栏。这就是您想要包含在html_nodes() 中的内容。在这种情况下,我得到了“._1b3ij9t+ div”。果然,这似乎可行:

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

    【讨论】:

    • 嗨,为什么选择器小工具给我这个.liveticker-a__date , .liveticker-a__head 当我从这个site 中刮取标题和日期时,而 R 在控制台中给我 character(0)
    猜你喜欢
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多