Парсинг интернет-магазина профессионального оборудования
Исходные данные: сайт https://aspro-rus.ru. Необходимо спарсить товары из всех категорий, получить значения стандартных для товаров полей плюс все характеристики. Результат нужен в файле Excel, все параметры и характеристики должны быть в отдельных колонках.
Визуально - приятный глазу, функциональный дизайн интернет-магазина: каталог, множество подкатегорий, фотографий много, все - отличного качества. В категориях, где товаров много, карточки подгружаются по мере скроллинга вниз. Информации много, но она выдается порциями, разбита на вкладки и секции. В общем, весьма продуманный дизайн.
Содержимое - статический html. Смена страниц хоть и происходит при скролле, но её можно произвести через те же get-запросы. Снова простая связка requests + bs4. Обходим последовательно каталог, получаем все карточки из всех страниц, проходим по извлеченным ссылкам и собираем содержимое сначала в json - формате, чтобы получить все возможные названия параметров и, следовательно, все возможные названия для колонок в xlsx-файле. Выгружаем в excel. Готово. Нет, секундочку... Запасные части не попали в выгрузку... Что такое? Каталог запасных частей имеет совсем другую структуру: на фото оборудования выделены зоны, при наведении на которые появляется список запчастей для конкретного узла этого конкретного устройства. Что ж, по факту - отдельный парсер только для этого раздела, но и это позади. Добавляем догруженные товары в наш файл excel.