Автоматизация через LLM и Vision
ScraperAI — это open-source решение, которое устраняет барьер входа в веб-скрейпинг, интегрируя Large Language Models (LLM), такие как ChatGPT, и модель GPT-4 Vision. Инструмент не просто парсит HTML, а «понимает» структуру страницы: определяет тип контента, находит пагинацию и генерирует переиспользуемые конфигурации (recipes) для сбора данных. Это позволяет пользователям любого уровня подготовки извлекать структурированные данные без написания сложного кода.
Классификация страниц и детекция
Ядро системы использует скриншоты страниц и GPT-4 Vision для категоризации веб-ресурсов. Алгоритм различает четыре основных типа страниц, что позволяет применять специфические стратегии извлечения для каждого случая:
| Тип страницы | Описание | Пример использования |
|---|---|---|
| Catalog | Страницы с повторяющимися элементами (списки товаров, статьи, таблицы) | Сбор каталога продуктов с маркетплейса |
| Details | Страницы с детальной информацией об одном объекте | Парсинг характеристик конкретного смартфона |
| Captcha | Страницы с защитой от ботов | Система детектирует, но не обходит (требует ручной настройки) |
| Other | Прочие типы, не поддерживаемые автоматически | Требует ручной настройки или кастомного парсера |
Технический стек и интеграции
Инструмент поддерживает гибкую архитектуру для сбора данных. По умолчанию используется Selenium WebDriver для симуляции действий человека (клики, скроллинг), что помогает обходить базовые блокировки. Однако архитектура позволяет заменять движок на Playwright или использовать библиотеку requests (с ограничениями). Ключевая особенность — поддержка кастомных LLM, что дает возможность использовать локальные модели или альтернативные API, помимо OpenAI.
CLI и практическое применение
ScraperAI предоставляет встроенный интерфейс командной строки (CLI), который запускает интерактивный процесс. Пользователь вводит URL, после чего система автоматически пытается определить пагинацию (через XPATH, бесконечный скролл или список URL), найти карточки товаров и извлечь поля (статические и динамические). Результаты можно сохранять в сериализуемом формате для дальнейшего использования. Для быстрого старта рекомендуется пример с YCombinator, демонстрирующий сбор списков компаний и коммитов.
Планы развития
Разработчики планируют расширить функционал за счет поддержки асинхронных клиентов (httpx, aiohttp), интеграции с anti-captcha сервисами и выпуска SaaS-версии. Также в roadmap заявлена поддержка локальных моделей через gpt4all, что сделает инструмент более доступным для пользователей, не желающих зависеть от облачных API.
Источник: Github ↗
