Скрапинг 120k+ товаров: Обход Cloudflare, умная ротация и 48 часов хардкора

Ссылка на работу
image
Этот проект содержит продвинутый, отказоустойчивый веб-парсер, созданный для извлечения массивного датасета (~120 000 товаров, 7 500 брендов) из глобального парфюмерного каталога. Целевой ресурс использует агрессивные механизмы защиты от ботов, включая проверку целостности браузера от Cloudflare и жесткое лимитирование запросов (HTTP 429 Too Many Requests). Архитектура и инженерные решения: При подготовке к миграции ~120k записей в среду WooCommerce использование существующих open-source датасетов было отклонено. Основные причины: неактуальность данных, плохая нормализация и отсутствие прямых URL-адресов товаров, необходимых для дальнейшего обогащения базы (парсинг нот и пирамид). Был разработан кастомный парсер со следующим функционалом: Обход антифрод-систем: Использование SeleniumBase в режиме uc=True (Undetected Chromedriver) для обхода проверок Cloudflare turnstiles и маскировки отпечатков webdriver. Очистка данных «на лету» (Data Cleaning): Извлеченные сырые строки динамически парсятся с помощью регулярных выражений (RegEx) для разделения названия продукта, года выпуска и гендерной принадлежности. Имя бренда автоматически вырезается из названия самого аромата для обеспечения чистоты БД при импорте. Отказоустойчивое хранение: Данные сохраняются в формате JSON Lines (.jsonl) в режиме добавления (append-only). Это гарантирует сохранность данных при неожиданных сбоях ОС или блокировках со стороны сервера. Подробнее:
https://github.com/romanzhan2610-png/perfume-scraper