Вы можете сделать это через rvest и tidyverse.
Вы можете найти список всех лампочек, начинающихся на этой странице, с нумерацией страниц по 24 лампочки на страницу на 30 страницах:
https://www.homedepot.com/b/Lighting-Light-Bulbs-LED-Bulbs/N-5yc1vZbm79
Посмотрите на сетку нумерации страниц внизу начальной страницы.Я нарисовал (уродливый) желтый овал вокруг него:

Вы можете извлечь ссылку на каждую страницу с 24 луковицами, следуя / извлекая ссылкив этой сетке нумерации страниц.
Тем не менее, просто сравнивая URL-адреса, становится очевидным, что все страницы следуют шаблону с "https://www.homedepot.com/b/Lighting-Light-Bulbs-LED-Bulbs/N-5yc1vZbm79" в качестве корня и хвостом, где последние цифры цифры представляют первыеотображается лампочка: «? Nao = 24 »
Таким образом, вы можете просто вывести структуру каждого URL, указывающего на отображение лампочек. Следующая команда создает такуюсписок в R:
library(rvest)
library(tidyverse)
index_list <- as.list(seq(0,(24*30), 24)) %>% paste0("https://www.homedepot.com/b/Lighting-Light-Bulbs-LED-Bulbs/N-5yc1vZbm79?Nao=", . )
Теперь, чтобы извлечь url для каждой страницы с лампочкой, было бы полезно сочетание функции и функции карты purrt.
Чтобы извлечь url отдельных лампочексо страниц индекса мы можем вызвать это:
scrap_bulbs <- function(url){
object <- read_html(as.character(url))
object <- html_nodes(x = object, xpath = "//a[@data-pod-type='pr']")
object <- html_attr(x = object, 'href')
Sys.sleep(10) ## Courtesy pause of 10 seconds, prevents the website from possibly blocking your IP
paste0('https://www.homedepot.com', object)
}
Теперь мы сохраняем результаты в списке, созданном map ().
bulbs_list <- map(.x = index_list, .f = scrap_bulbs)
unlist(bulbs_list)
Готово!