parser-scraper
Веб-скрейпинг и парсинг: Playwright/Selenium/BeautifulSoup/httpx, обход антиботов, пагинация, экспорт данных
SKILL.mdskills/parser-scraper/SKILL.md
GitHubParser / 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 или в БД
- Валидация и нормализация полей
- Дедупликация записей
Правила
- Сначала проверь, есть ли API — парсить HTML нужно в последнюю очередь.
- Уважай сервер: паузы, лимиты, правильный User-Agent.
- Селекторы хрупкие — изолируй их в одном месте для лёгкой починки.
- Данные с персональной информацией — соблюдай GDPR/152-ФЗ.