Веб-скрапер
yfe404/web-scraperClaude Code скилл для веб-скрапинга с адаптивной разведкой, автоматическим выбором стратегии (curl/browser), валидацией селекторов и TypeScript-first разработкой Apify Actor. Подходит для сбора данных любой сложности.
Установка
git clone https://github.com/yfe404/web-scraper.gitREADME
Скилл веб-скрапинга
Интеллектуальный веб-скрапинг с автоматическим выбором стратегии и TypeScript-first разработкой Apify Actor.
Обзор
Скилл предоставляет:
- Адаптивная разведка — фазы 0–5 с контрольными точками качества, пропускающими лишние шаги (сначала curl, браузер только при необходимости)
- Определение фреймворка — идентифицирует фреймворк сайта до начала поиска, игнорирует нерелевантные паттерны
- Валидация находок — каждый заявленный селектор/путь/API проверяется перед включением в отчёт
- Самокритичные отчёты — аналитические отчёты включают анализ пробелов и предупреждения об устаревании данных
- Итеративная реализация — начинает с простого, усложняет только при необходимости
- Готовность к продакшену — TypeScript-first разработка Apify Actor
Установка
Добавьте скилл в Claude Code, поместив эту директорию в папку skills.
Быстрый старт
Сценарий 1: скрапинг сайта
Пользователь: "Scrape https://example.com"
Claude автоматически:
1. Фаза 0: curl сырого HTML — определение фреймворка, поиск точек данных, проверка sitemap
2. КОНТРОЛЬНАЯ ТОЧКА: все данные в HTML? → пропустить браузер, перейти к валидации
3. Фаза 1: запуск stealth-браузера (только при необходимости) — перехват трафика, рендеренный DOM
4. Фаза 2: глубокое сканирование (только для отсутствующих данных) — тест взаимодействий, обнаружение API
5. Фаза 3: валидация каждой находки — тест селекторов, воспроизведение API, подтверждение путей
6. Фаза 4: тестирование защиты (только при наличии сигналов или по запросу пользователя)
7. Фаза 5: генерация аналитического отчёта с самокритикой
8. Итеративная реализация рекомендованного подхода
9. Тест на малой выборке, затем масштабирование
Сценарий 2: создание Apify Actor
Пользователь: "Make this an Apify Actor"
Claude:
1. Рекомендует TypeScript (настоятельно)
2. Проводит через команду `apify create`
3. Помогает выбрать подходящий шаблон (Cheerio vs Playwright)
4. Переносит логику скрапинга в формат Actor
5. Настраивает схему входных данных
6. Тестирует и деплоит
Структура директорий
web-scraping/
├── SKILL.md # Основная точка входа (проактивный воркфлоу)
├── workflows/ # Паттерны реализации
│ ├── reconnaissance.md # Фаза 1: интерактивная разведка (КРИТИЧНО)
│ ├── implementation.md # Фаза 4: итеративная реализация
│ └── productionization.md # Фаза 5: создание Actor
├── strategies/ # Детальные руководства
│ ├── framework-signatures.md # Таблицы определения фреймворков
│ ├── cheerio-vs-browser-test.md # Выбор Cheerio vs Browser + ранний выход
│ ├── proxy-escalation.md # Условия пропуска/запуска тестирования защиты
│ ├── traffic-interception.md # Перехват трафика через MITM-прокси
│ ├── sitemap-discovery.md # Обнаружение URL в 60 раз быстрее
│ ├── api-discovery.md # В 10–100 раз быстрее скрапинга
│ ├── dom-scraping.md # DevTools bridge + humanizer
│ ├── cheerio-scraping.md # Только HTTP (в 5 раз быстрее)
│ ├── hybrid-approaches.md # Комбинирование стратегий
│ ├── anti-blocking.md # Многоуровневая защита от блокировок
│ └── session-workflows.md # Запись сессий, HAR, воспроизведение
├── examples/ # Запускаемый код
│ ├── traffic-interception-basic.js
│ ├── sitemap-basic.js
│ ├── api-scraper.js
│ ├── hybrid-sitemap-api.js
│ └── iterative-fallback.js
├── reference/ # Быстрый поиск
│ ├── report-schema.md # Формат аналитического отчёта (разделы 1–7)
│ ├── proxy-tool-reference.md # Инструменты Proxy-MCP (80+)
│ ├── regex-patterns.md
│ ├── fingerprint-patterns.md
│ └── anti-patterns.md
├── apify/ # Деплой в продакшен
│ ├── typescript-first.md # Почему TypeScript
│ ├── cli-workflow.md # apify create (КРИТИЧНО)
│ ├── templates/ # TypeScript-шаблоны
│ └── examples/ # Рабочие акторы
└── README.md # Этот файл
Применяемые лучшие практики
Скилл следует официальным рекомендациям Anthropic по разработке скиллов.
1. Архитектура прогрессивного раскрытия ✓
Паттерн: трёхуровневая система загрузки для эффективного управления контекстом
- Уровень 1: YAML frontmatter (~85 токенов) — загружается всегда
- Уровень 2: основной SKILL.md (~356 строк) — загружается при вызове скилла
- Уровень 3: поддиректории — загружаются по требованию
Результат: сокращение токенов на 70–80% по сравнению с монолитной документацией
Источник: skill-creator/SKILL.md
2. Стиль написания: повелительное наклонение ✓
Паттерн: инструкции формулируются глаголом в начале, без обращения во втором лице
Примеры:
- ✅ "Load this workflow when user requests"
- ✅ "Check for sitemaps automatically"
- ❌ "You should load this workflow"
- ❌ "You need to check for sitemaps"
Исключение: второе лицо допустимо в пользовательских подсказках, комментариях к коду и обучающих примерах
Источник: skill-creator/SKILL.md
3. Чёткий YAML frontmatter ✓
Паттерн: лаконичные и конкретные имя и описание, определяющие условия вызова скилла
Применено:
name: web-scraping— понятный идентификатор в kebab-casedescription:— конкретно описывает триггеры активации и возможности (189 символов, оптимизировано с 244)
Источник: agent_skills_spec.md
4. Компактный SKILL.md со ссылками на файлы ✓
Паттерн: в SKILL.md хранятся только ключевые процедурные инструкции; детальная информация вынесена в поддиректории
Применено:
- SKILL.md: основной 4-фазный воркфлоу (~356 строк)
workflows/: детальные паттерны реализацииstrategies/: детальные руководстваexamples/: запускаемый кодreference/: паттерны для быстрого поискаapify/: руководства по деплою в продакшен
Источник: skill-creator/SKILL.md
5. Организация скриптов, ссылок и ресурсов ✓
Паттерн: разделение исполняемого кода, документации и справочных материалов по отдельным директориям для удобства навигации и повторного использования.