Все статьиТехническое10 мин

ETL-пайплайны с веб-скрейпингом: от извлечения до загрузки

Как строить production-ready ETL-пайплайны с использованием веб-скрейпинга: извлечение, трансформация, загрузка данных, планирование и мониторинг.

Команда InfraProxy

7 февраля 2026 г.

#ETL#пайплайны данных#архитектура#автоматизация#скрейпинг

Что такое ETL в контексте скрейпинга

ETL (Extract, Transform, Load) — стандартный паттерн работы с данными, адаптированный для веб-скрейпинга:

  • Extract — получение HTML-страниц через прокси и извлечение структурированных данных
  • Transform — очистка, нормализация, валидация и обогащение данных
  • Load — загрузка в целевое хранилище (база данных, DWH, CRM)

Разница с классическим ETL: источник данных — не база или API, а веб-страницы с нестабильной структурой, антибот-защитой и rate-limiting.

Архитектура production-пайплайна

Слой извлечения (Extract)

Задача: надёжно получить данные из веб-источников.

Очередь задач. Каждый URL — отдельная задача в очереди. Это позволяет:

  • Параллельно обрабатывать запросы
  • Автоматически повторять неудачные
  • Контролировать нагрузку на источник

Управление прокси. Центральный пул прокси с мониторингом:

  • Распределение запросов по IP
  • Отслеживание блокировок и автоматическая ротация
  • Разделение пулов по источникам (для разных сайтов — разные прокси)

Обработка ошибок. Стратегия повторных попыток:

  • HTTP 429 (Too Many Requests) → увеличить задержку, сменить IP
  • HTTP 403 (Forbidden) → сменить прокси, проверить TLS-отпечаток
  • HTTP 503 (Service Unavailable) → подождать, повторить через 5 минут
  • Timeout → повторить с другим прокси

Слой трансформации (Transform)

Задача: превратить сырые данные в чистый, структурированный формат.

Очистка данных:

  • Удаление HTML-тегов и спецсимволов
  • Извлечение числовых значений из текста («от 1 500 ₽» → 1500)
  • Обработка валют и единиц измерения
  • Нормализация дат и времени

Валидация:

  • Проверка обязательных полей
  • Диапазоны допустимых значений (цена > 0, рейтинг от 1 до 5)
  • Формат данных (email, телефон, URL)

Обогащение:

  • Добавление метаданных (временная метка, источник, регион)
  • Расчёт производных полей (процент скидки, изменение цены)
  • Связывание с внутренними данными (маппинг SKU)

Слой загрузки (Load)

Задача: доставить данные в целевую систему.

Варианты целевых систем:

  • Реляционная БД (PostgreSQL) — для аналитики с SQL-запросами
  • DWH (ClickHouse, BigQuery) — для больших объёмов и быстрой аналитики
  • CRM (Bitrix24, AmoCRM) — для обогащения карточек клиентов
  • Data Lake (S3) — для хранения сырых данных

Стратегии загрузки:

  • Upsert — обновить если существует, создать если нет
  • Append — добавить новую запись (для хранения истории)
  • Replace — полная замена (для справочных данных)

Планирование и оркестрация

Расписание запусков

Разные пайплайны — разная частота:

  • Ценовой мониторинг — каждые 1-4 часа
  • Обогащение лидов — раз в день
  • Мониторинг контента — раз в неделю

Зависимости между задачами

Некоторые задачи зависят друг от друга:

  1. Сначала собрать список URL товаров из каталога
  2. Затем получить данные с каждой страницы товара
  3. Затем обогатить и загрузить

Мониторинг и алертинг

Критически важные метрики:

  • Процент успешных запросов — если ниже 90%, что-то сломалось
  • Количество собранных записей — резкое падение = проблема
  • Время выполнения — рост может указывать на блокировки
  • Свежесть данных — когда последний раз обновились

Обработка изменений структуры

Веб-страницы меняются — это неизбежность. Стратегии:

  • Мониторинг структуры — проверяйте, что селекторы парсинга по-прежнему работают
  • Несколько селекторов — основной + резервные
  • Алертинг — если парсер не нашёл данных, сразу уведомление
  • Версионирование парсеров — возможность быстро откатиться

Масштабирование

Горизонтальное масштабирование

При росте объёмов:

  • Увеличивайте число worker-процессов
  • Наращивайте пул прокси пропорционально
  • Разделяйте задачи по серверам

Оптимизация затрат

  • Используйте серверные прокси для простых сайтов, резидентные — для защищённых
  • Кешируйте промежуточные результаты
  • Обрабатывайте только изменившиеся страницы (инкрементальный сбор)

InfraProxy предоставляет прокси-инфраструктуру для ETL-пайплайнов любого масштаба. Автоматическая ротация, мониторинг, API. Узнайте подробности.

Нужны надёжные прокси для вашего проекта?

InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.