rvest не получает информацию о продукте с помощью html_nodes()

Я использовал rvest для скрейпинга сведений о продукте (название, цена и доступность) в поисковой системе Amazon результаты. Мне удалось получить веб-страницу с помощью read_html(), но я не могу получить сведения о продукте (названия, цена и доступность). На странице есть тег <span> с классом class = "a-size-medium a-color-base a-text-normal". Я использовал html_nodes("span.a-size-medium a-color-base a-text-normal"), но получил NA.

Вот воспроизводимый код:

library(rvest)
library(xml2)

url <- "https://www.amazon.in/s?k=Smartphone&rh=n%3A1389401031&ref=nb_sb_noss"

page <- read_html(url)

data <- page%>%
  html_node("span.a-size-medium a-color-base a-text-normal") %>%
  html_text()

print(data)

person Priyansh Srivastava    schedule 30.05.2020    source источник


Ответы (1)


Вам просто нужно немного изменить селектор css. Мне удалось получить названия и цены, с доступностью было немного сложнее :/

library(rvest)
library(xml2)

url <- "https://www.amazon.in/s?k=Smartphone&rh=n%3A1389401031&ref=nb_sb_noss"

page <- read_html(url)

name <- page %>% html_nodes(".a-size-medium.a-color-base.a-text-normal") %>% html_text()

price <- page %>% html_nodes(".a-price-whole") %>% html_text()
person Joe Marin    schedule 30.05.2020
comment
Спасибо за исправления! Я поищу наличие и сообщу о результатах. - person Priyansh Srivastava; 30.05.2020