Rstudio Webscraping - Rvest возвращает персонажа (0) - PullRequest
1 голос
/ 05 марта 2020

Я работаю над проектом бакалавриата, который мне необходим для создания следующих данных из нескольких списков airbnb.

Вот пример: https://www.airbnb.com.sg/rooms/49091?_set_bev_on_new_domain=1582777903_ZWE4MTBjMGNmYmFh&source_impression_id=p3_1582778001_lB%2BjT8%2BWgIsL%2FrBV

Следующие данные мне необходимы для webscrape: 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)

Любой совет или руководство в правильном направлении очень ценится! :)

1 Ответ

1 голос
/ 05 марта 2020

Я рекомендую использовать гаджет выбора, чтобы определить, какой узел нужно очистить: https://selectorgadget.com/

Он работает, щелкая нужную информацию. Другая информация, которая также будет включена, будет показана желтым цветом. Если они вам не нужны, нажмите на них, чтобы они стали красными. В нижней части экрана вы увидите небольшую панель с текстом. Это то, что вы хотите включить в html_nodes(). В этом случае я получил "._1b3ij9t + div". Конечно, это работает:

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