ScrapeGraphAI — веб-скрейпинг на LLM: просто скажите, какие данные нужны
📂 Исходный код на GitHubPython-скрейпер на базе ИИ: библиотека для извлечения данных с сайтов и из локальных документов с помощью LLM и графовых пайплайнов
ScrapeGraphAI — Python-библиотека для веб-скрейпинга, которая использует LLM и логику ориентированных графов для построения пайплайнов извлечения данных. Она работает как с сайтами, так и с локальными документами: XML, HTML, JSON, Markdown и другими форматами. Идея проекта укладывается в его слоган «You Only Scrape Once»: вы просто описываете, какую информацию нужно извлечь, а библиотека сама строит граф обработки и возвращает структурированный результат.
Проект распространяется под лицензией MIT и собрал более 30 тыс. звёзд на GitHub.
Установка
Библиотека доступна на PyPI. Для загрузки содержимого сайтов также потребуется Playwright:
pip install scrapegraphai
# IMPORTANT (for fetching websites content)
playwright install
Разработчики рекомендуют устанавливать библиотеку в виртуальное окружение, чтобы избежать конфликтов с другими пакетами.
Базовое использование
Основной пайплайн — SmartScraperGraph. Ему нужны промпт, источник и конфигурация LLM. Пример с локальной моделью через Ollama:
from scrapegraphai.graphs import SmartScraperGraph
graph_config = {
"llm": {
"model": "ollama/llama3.2",
"model_tokens": 8192,
"format": "json",
},
"verbose": True,
"headless": False,
}
smart_scraper_graph = SmartScraperGraph(
prompt="Extract useful information from the webpage, including a description of what the company does, founders and social media links",
source="https://scrapegraphai.com/",
config=graph_config
)
result = smart_scraper_graph.run()
import json
print(json.dumps(result, indent=4))
Результат — обычный словарь Python: описание компании, список основателей с ролями и ссылками на LinkedIn, ссылки на соцсети. Чтобы использовать OpenAI или другого облачного провайдера, достаточно поменять конфигурацию LLM:
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_API_KEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
Готовые пайплайны
Помимо SmartScraperGraph, библиотека предлагает набор стандартных графов под разные задачи:
| Пайплайн | Описание |
|---|---|
SmartScraperGraph |
Скрейпер одной страницы: промпт + источник |
SearchGraph |
Многостраничный скрейпер: извлекает данные из топ-n результатов поисковика |
SpeechGraph |
Извлекает данные со страницы и генерирует аудиофайл |
ScriptCreatorGraph |
Извлекает данные и генерирует Python-скрипт для этого |
SmartScraperMultiGraph |
Обрабатывает несколько страниц по одному промпту и списку источников |
ScriptCreatorMultiGraph |
Генерирует Python-скрипт для извлечения данных с нескольких страниц |
У каждого графа есть мультиверсия, которая распараллеливает вызовы LLM.
Поддерживаемые LLM
Через API можно подключить OpenAI, Groq, Azure, Gemini, MiniMax и другие модели. Для полностью локальной работы подойдёт Ollama — потребуется установить её и скачать модель командой ollama pull.
Интеграции
ScrapeGraphAI встраивается в популярные фреймворки и платформы:
- LLM-фреймворки: Langchain, Llama Index, Crew.ai, Agno, CamelAI
- Low-code-платформы: Pipedream, Bubble, Zapier, n8n, Dify, Toolhouse
- SDK: Python и Node
- MCP-сервер: доступен через Smithery — библиотеку можно подключить как инструмент к AI-агентам
Документация по интеграциям и API доступна на docs.scrapegraphai.com.
Open Source против облачного API
Проект существует в двух вариантах: open-source-библиотека, которую вы запускаете сами, и управляемое облачное API (с SDK для Python и JS/TS — scrapegraph-py и scrapegraph-js).
| Open Source | Managed API | |
|---|---|---|
| Где работает | Ваша инфраструктура | Облако ScrapeGraphAI |
| LLM | Своя (OpenAI, Groq, Gemini, Azure, Ollama) | Управляется сервисом |
| Рендеринг JS | Настраиваете сами (Playwright) | Управляемый (stealth, auto/fast/js) |
| Прокси и анти-бот | Ваша ответственность | Включены |
| Модель оплаты | Токены LLM + своя инфраструктура | Кредиты pay-as-you-go |
| Возможности | Графовые пайплайны (SmartScraper, Search, Speech, ScriptCreator…) | Scrape, Extract, Search, Crawl, Monitor, History |
Open-source-версию стоит выбирать, если нужен полный контроль, self-hosted-размещение данных, локальные модели через Ollama или тонкая настройка расходов — и вы готовы сами управлять браузерами, прокси и масштабированием. Облачный API удобен, когда нужна нулевая инфраструктура, управляемый JS-рендеринг и анти-бот, встроенный Crawl и запланированные задачи Monitor без настройки.
Детали, о которых стоит знать
- Телеметрия: библиотека собирает анонимную статистику использования. Отключается переменной окружения
SCRAPEGRAPHAI_TELEMETRY_ENABLED=false. - Назначение: по заявлению авторов, библиотека предназначена для исследования данных и научных целей; ответственность за неправомерное использование на пользователях.
- Авторы проекта: Marco Vinciguerra и Lorenzo Padoan.
Итог
ScrapeGraphAI — зрелый инструмент (почти 3 тыс. коммитов, активное сообщество) для задач, где раньше пришлось бы писать XPath-селекторы и парсеры вручную. Особенно полезен он будет в связке с AI-агентами через MCP-сервер или интеграции с Langchain и Crew.ai, а также для быстрого прототипирования извлечения данных, когда структура целевых страниц заранее неизвестна.