ScrapeGraphAI — веб-скрейпинг на LLM: просто скажите, какие данные нужны

· 2 мин чтения
web-scraping llm python data-extraction ai-agents
📂 Исходный код на GitHub

Python-скрейпер на базе ИИ: библиотека для извлечения данных с сайтов и из локальных документов с помощью LLM и графовых пайплайнов

ScrapeGraphAI — веб-скрейпинг на 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, а также для быстрого прототипирования извлечения данных, когда структура целевых страниц заранее неизвестна.

Источник: https://github.com/ScrapeGraphAI/Scrapegraph-ai