parser-scraper

Веб-скрейпинг и парсинг: Playwright/Selenium/BeautifulSoup/httpx, обход антиботов, пагинация, экспорт данных

SKILL.md

GitHub

Parser / Scraper

Гайд по сбору данных с веб-сайтов.

Выбор инструмента

Задача Инструмент
Статичный HTML httpx + BeautifulSoup / requests
Динамика (JS-рендер) Playwright (рекомендуется) / Selenium
Массовый сбор Playwright + прокси + очередь
API-источник Прямой запрос к JSON API (быстрее и легальнее парсинга HTML)

Чек-лист разработки

Легальность (важно)

  • Проверь robots.txt и условия использования сайта
  • Соблюдай разумную частоту запросов (rate-limit)
  • Указывай User-Agent и контакт (ответственный парсинг)
  • Уточни лицензию данных, если собираешь массово

Реализация

  • Найди селекторы: инспектируй HTML, используй CSS-селекторы / XPath
  • Обработай пагинацию (перебор страниц / «дальше»)
  • Обработай динамические элементы: дождись рендера (wait_for_selector)
  • Паузы и jitter между запросами (анти-бан + вежливость)

Обход антиботов

  • Ротация User-Agent
  • Прокси (ротация IP) для массовых задач
  • Playwright stealth-режим при необходимости
  • Не превышай лимиты — лучше медленно и надёжно

Надёжность

  • Retry с экспоненциальной задержкой при сбоях
  • Таймауты на запросы и ожидания
  • Логирование прогресса и ошибок
  • Сохраняй промежуточные результаты (идемпотентность/чекпоинты)

Экспорт

  • CSV/JSON/Parquet или в БД
  • Валидация и нормализация полей
  • Дедупликация записей

Правила

  1. Сначала проверь, есть ли API — парсить HTML нужно в последнюю очередь.
  2. Уважай сервер: паузы, лимиты, правильный User-Agent.
  3. Селекторы хрупкие — изолируй их в одном месте для лёгкой починки.
  4. Данные с персональной информацией — соблюдай GDPR/152-ФЗ.