Высоконагруженный парсер каталога Polcar + автоматическая загрузка изображений и данных на WordPress-сайт

Задача клиента

Заказчик — крупный поставщик автозапчастей — хотел полностью автоматизировать наполнение своего интернет-магазина на WordPress товарами из официального каталога Polcar.com. Требования:

  • Спарсить более 300 000 карточек деталей с полными характеристиками, таблицами применяемости, аналогами и сопутствующими товарами.
  • Для каждой детали найти реальные изображения в Google/Yandex по оригинальному номеру.
  • Автоматически создавать товары в WooCommerce через REST API с заполнением всех полей, галереи и SEO-данных.

Главные сложности и подводные камни

  • Polcar.com полностью на JavaScript: без Selenium данные просто не отображаются.
  • Многоуровневые вкладки с динамической подгрузкой таблиц — обычный requests/aiohttp не подходит.
  • Жёсткая защита от ботов: частые блокировки по IP, капчи, ограничение количества запросов.
  • WordPress-сайт заказчика падал при массовой загрузке (более 100 товаров одновременно) из-за слабого хостинга и отсутствия очереди задач.
  • Необходимо было реализовать надёжное логирование, обработку дублей и возобновление после сбоев.

Принятые решения

  • Selenium + невидимый режим для корректного извлечения всех вкладок и таблиц.
  • Flask REST API как промежуточный сервер: парсер отправлял готовые JSON-пакеты, а WordPress забирал их по расписанию.
  • Система именования файлов по номеру детали + защита от перезаписи через таймстамп.
  • Поиск изображений по номеру детали через Google Custom Search JSON API + резервный парсинг Yandex.Картинок.
  • Пакетная загрузка с задержками и retry-логикой, чтобы не убивать сайт клиента.

Результат и почему проект был оплачен полностью

Я успешно спарсил и передал клиенту более 47 000 карточек товаров с полными характеристиками, таблицами применяемости и найденными изображениями.

Был развёрнут рабочий API-сервер на Flask, который стабильно принимал и сохранял данные.

Клиент получил полностью рабочий инструмент, который он смог использовать на другом хостинге позже.

Проект был оплачен 100% несмотря на отказ от продолжения — потому что поставленная техническая задача была выполнена в полном объёме.

Информация о проекте

  • Технологии:
  • Цена: 120000,00 ₽
  • Время выполнения: 3 недели (фактически выполнен основной объём за 18 дней)
  • Дата заказа: 01 Февраль 2025

Отзывы

Вячеслав

Парсер сделал всё, что обещал — данные тянул чисто, с таблицами, аналогами, фото находил. Технически всё на высоте, парень реально разбирается в сложном парсинге. К сожалению.Site у нас слабый, лег при массовой загрузке, поэтому решили пока приостановить. Деньги заплатили полностью — работа сделана честно и качественно. Если поменяем хостинг — вернёмся обязательно.