
Python-скрапер на основе ИИ
## 🚀 **Ищете ещё более быстрый и простой способ масштабного скрапинга (всего 5 строк кода)?** Ознакомьтесь с нашей расширенной версией на [**ScrapeGraphAI.com**](https://scrapegraphai.com/?utm_source=github&utm_medium=readme&utm_campaign=oss_cta&ut#m_content=top_banner)! 🚀
---
# 🕷️ ScrapeGraphAI: Скрейпишь только раз
<p align="center">
<a href="https://scrapegraphai.com">
<img src="https://assets.kitploit.com/production/public/readmes/41478/e11a555115b80e07241afdb0aec04ee9fae66f983d969d27fbd8a64a21f090de.png" alt="ScrapeGraphAI" style="width: 100%;">
</a>
</p>
[English](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/README.md) | [中文](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/chinese.md) | [日本語](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/japanese.md)
| [한국어](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/korean.md)
| [Русский](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/russian.md) | [Türkçe](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/turkish.md)
| [Deutsch](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/german.md)
| [Español](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/spanish.md)
| [français](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/french.md)
| [Português](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/portuguese.md)
| [Italiano](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/italian.md)
[](https://pepy.tech/projects/scrapegraphai)
[](https://opensource.org/licenses/MIT)
[](https://discord.gg/gkxQDAjfeX)
<p align="center">
<a href="https://trendshift.io/repositories/15078" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15078" alt="ScrapeGraphAI%2FScrapegraph-ai | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<p align="center">
[ScrapeGraphAI](https://scrapegraphai.com) — это *python-библиотека для веб-скрапинга*, которая использует LLM и логику прямых графов для создания пайплайнов извлечения данных с веб-сайтов и локальных документов (XML, HTML, JSON, Markdown и т.д.).
Просто укажите, какую информацию вы хотите извлечь, и библиотека сделает всё за вас!
## 🚀 Интеграции
ScrapeGraphAI предлагает бесшовную интеграцию с популярными фреймворками и инструментами, чтобы расширить ваши возможности скрапинга. Создаёте ли вы проекты на Python или Node.js, используете LLM-фреймворки или работаете с no-code платформами — наши комплексные варианты интеграции вас полностью покрывают.
<p align="center">
<a href="https://scrapegraphai.com">
<img src="https://assets.kitploit.com/production/public/readmes/41478/0e788431fde2dc01cf2aa4b53d87b9befe3c728b719a5a45dec11ffb4d7c77a5.png" alt="Масштабное извлечение веб-данных? Попробуйте облако ScrapeGraphAI" style="width: 100%;">
</a>
</p>
Вы можете найти более подробную информацию по следующей [ссылке](https://scrapegraphai.com)
**Интеграции**:
- **API**: [Документация](https://docs.scrapegraphai.com/introduction)
- **SDKs**: [Python](https://docs.scrapegraphai.com/sdks/python), [Node](https://docs.scrapegraphai.com/sdks/javascript)
- **LLM-фреймворки**: [Langchain](https://docs.scrapegraphai.com/integrations/langchain), [Llama Index](https://docs.scrapegraphai.com/integrations/llamaindex), [Crew.ai](https://docs.scrapegraphai.com/integrations/crewai), [Agno](https://docs.scrapegraphai.com/integrations/agno), [CamelAI](https://github.com/camel-ai/camel)
- **Low-code фреймворки**: [Pipedream](https://pipedream.com/apps/scrapegraphai), [Bubble](https://bubble.io/plugin/scrapegraphai-1745408893195x213542371433906180), [Zapier](https://zapier.com/apps/scrapegraphai/integrations), [n8n](http://localhost:5001/dashboard), [Dify](https://dify.ai), [Toolhouse](https://app.toolhouse.ai/mcp-servers/scrapegraph_smartscraper)
- **MCP-сервер**: [Ссылка](https://smithery.ai/server/@ScrapeGraphAI/scrapegraph-mcp)
## 🚀 Быстрая установка
Справочная страница Scrapegraph-ai доступна на официальной странице PyPI: [pypi](https://pypi.org/project/scrapegraphai/).
```bash
pip install scrapegraphai
# IMPORTANT (for fetching websites content)
playwright install
```
**Примечание**: рекомендуется устанавливать библиотеку в виртуальном окружении, чтобы избежать конфликтов с другими библиотеками 🐱
## 💻 Использование
Существует несколько стандартных пайплайнов скрапинга, которые можно использовать для извлечения информации с веб-сайта (или из локального файла).
Самый распространённый из них — `SmartScraperGraph`, который извлекает информацию с одной страницы по заданному пользовательскому промпту и исходному URL.
```python
from scrapegraphai.graphs import SmartScraperGraph
# Define the configuration for the scraping pipeline
graph_config = {
"llm": {
"model": "ollama/llama3.2",
"model_tokens": 8192,
"format": "json",
},
"verbose": True,
"headless": False,
}
# Create the SmartScraperGraph instance
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
)
# Run the pipeline
result = smart_scraper_graph.run()
import json
print(json.dumps(result, indent=4))
```
> [!NOTE]
> Для OpenAI и других моделей достаточно просто изменить конфигурацию llm!
> ```python
>graph_config = {
> "llm": {
> "api_key": "YOUR_OPENAI_API_KEY",
> "model": "openai/gpt-4o-mini",
> },
> "verbose": True,
> "headless": False,
>}
>```
Результат будет представлять собой словарь следующего вида:
```python
{
"description": "ScrapeGraphAI transforms websites into clean, organized data for AI agents and data analytics. It offers an AI-powered API for effortless and cost-effective data extraction.",
"founders": [
{
"name": "",
"role": "Founder & Technical Lead",
"linkedin": "https://www.linkedin.com/in/perinim/"
},
{
"name": "Marco Vinciguerra",
"role": "Founder & Software Engineer",
"linkedin": "https://www.linkedin.com/in/marco-vinciguerra-7ba365242/"
},
{
"name": "Lorenzo Padoan",
"role": "Founder & Product Engineer",
"linkedin": "https://www.linkedin.com/in/lorenzo-padoan-4521a2154/"
}
],
"social_media_links": {
"linkedin": "https://www.linkedin.com/company/101881123",
"twitter": "https://x.com/scrapegraphai",
"github": "https://github.com/ScrapeGraphAI/Scrapegraph-ai"
}
}
```
Существуют и другие пайплайны, которые можно использовать для извлечения информации с нескольких страниц, генерации Python-скриптов или даже создания аудиофайлов.
| Название пайплайна | Описание |
|-------------------------|------------------------------------------------------------------------------------------------------------------|
| SmartScraperGraph | Одностраничный скрапер, которому нужны только пользовательский промпт и исходный источник. |
| SearchGraph | Многостраничный скрапер, извлекающий информацию из первых n результатов поисковой выдачи. |
| SpeechGraph | Одностраничный скрапер, который извлекает информацию с веб-сайта и генерирует аудиофайл. |
| ScriptCreatorGraph | Одностраничный скрапер, который извлекает информацию с веб-сайта и генерирует Python-скрипт. |
| SmartScraperMultiGraph | Многостраничный скрапер, извлекающий информацию с нескольких страниц по одному промпту и списку источников. |
| ScriptCreatorMultiGraph | Многостраничный скрапер, генерирующий Python-скрипт для извлечения информации с нескольких страниц и источников. |
Для каждого из этих графов существует мульти-версия. Она позволяет выполнять параллельные вызовы LLM.
Можно использовать различные LLM через API, такие как **OpenAI**, **Groq**, **Azure**, **Gemini**, **[MiniMax](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/minimax.md)** и другие, а также локальные модели с помощью **Ollama**.
Если вы хотите использовать локальные модели, не забудьте установить [Ollama](https://ollama.com/) и загрузить модели с помощью команды **ollama pull**.
## 📖 Документация
[](https://colab.research.google.com/drive/1sEZBonBMGP44CtO6GQTwAlL0BGJXjtfd?usp=sharing)
Документация по ScrapeGraphAI доступна [здесь](https://docs.scrapegraphai.com/introduction).
## 🆚 Open Source vs управляемый API
ScrapeGraphAI доступен в двух вариантах: **эта библиотека с открытым исходным кодом**, которую вы запускаете самостоятельно, и **управляемый облачный API** (используется через [Python](https://github.com/ScrapeGraphAI/scrapegraph-py) и [JS/TS](https://github.com/ScrapeGraphAI/scrapegraph-js) SDK). В этой таблице объясняется разница, чтобы вы могли выбрать подходящий вариант.
| | Open Source (`scrapegraphai`) | Managed API (`scrapegraph-py` / `scrapegraph-js`) |
|---|---|---|
| **Что это** | Python-библиотека, которую вы запускаете самостоятельно | Размещённый облачный сервис, к которому вы обращаетесь через SDK |
| **Где запускается** | Ваша собственная инфраструктура (self-hosted) | Облако ScrapeGraphAI |
| **LLM** | Своя модель (OpenAI, Groq, Gemini, Azure, локально через Ollama) | Управляется за вас |
| **Рендеринг браузера / JS** | Настраиваете сами (Playwright) | Управляемый (stealth, режимы `auto`/`fast`/`js`) |
| **Прокси и анти-бот** | Ваша ответственность | Включены |
| **Масштабирование и обслуживание** | Ваша ответственность | Полностью управляемые |
| **Модель оплаты** | Токены LLM + собственная инфраструктура | Кредиты по мере использования |
| **Аутентификация** | Собственные ключи LLM | `SGAI_API_KEY` |
| **Возможности** | Графовые пайплайны (SmartScraper, Search, Speech, ScriptCreator…) | Scrape, Extract, Search, Crawl, Monitor, History |
| **Сложность настройки** | Больше конфигурации | Минимальная — ключ API + один вызов |
| **Лицензия** | MIT | SDK — MIT; API-сервис платный |
**Выбирайте библиотеку с открытым исходным кодом**, если вам нужен полный контроль, данные on-prem/self-hosted, локальные LLM (Ollama) или тонкая настройка затрат — и вы готовы самостоятельно управлять браузерами, прокси и масштабированием.
**Выбирайте управляемый API**, если вам нужна нулевая инфраструктура, управляемый JS-рендеринг и защита от ботов, встроенные задачи **Crawl** и планируемые задания **Monitor**, а также самый быстрый путь к продакшену — оплата за кредиты.
- Библиотека с открытым исходным кодом: https://github.com/ScrapeGraphAI/Scrapegraph-ai
- Python SDK: https://github.com/ScrapeGraphAI/scrapegraph-py
- JS/TS SDK: https://github.com/ScrapeGraphAI/scrapegraph-js
- Документация API: https://docs.scrapegraphai.com/introduction
## 🤝 Участие в разработке
Не стесняйтесь вносить свой вклад и присоединяйтесь к нашему Discord-серверу, чтобы обсудить улучшения и предложить свои идеи!
Пожалуйста, ознакомьтесь с [правилами участия в разработке](https://github.com/ScrapeGraphAI/Scrapegraph-ai/blob/main/CONTRIBUTING.md).
[](https://discord.gg/uJN7TYcpNa)
[](https://www.linkedin.com/company/scrapegraphai/)
[](https://twitter.com/scrapegraphai)
## 🔗 ScrapeGraph API и SDK
Если вы ищете быстрое решение для интеграции ScrapeGraph в свою систему, ознакомьтесь с нашим мощным API [здесь!](https://scrapegraphai.com)
[](https://scrapegraphai.com)
Мы предлагаем SDK как для Python, так и для Node.js, что упрощает интеграцию в ваши проекты. Ознакомьтесь с ними ниже:
| SDK | Язык | Ссылка на GitHub |
|-----------|----------|-----------------------------------------------------------------------------|
| Python SDK | Python | [scrapegraph-py](https://docs.scrapegraphai.com/sdks/python) |
| Node.js SDK | Node.js | [scrapegraph-js](https://docs.scrapegraphai.com/sdks/javascript) |
Официальную документацию API можно найти [здесь](https://docs.scrapegraphai.com/introduction).
## 📈 Телеметрия
Мы собираем анонимные метрики использования, чтобы улучшать качество нашего пакета и удобство работы пользователей. Эти данные помогают нам расставлять приоритеты в улучшениях и обеспечивать совместимость. Если вы хотите отказаться от сбора данных, установите переменную окружения SCRAPEGRAPHAI_TELEMETRY_ENABLED=false. Дополнительную информацию см. в документации [здесь](https://docs.scrapegraphai.com/introduction).
## ❤️ Контрибьюторы
[](https://github.com/ScrapeGraphAI/Scrapegraph-ai/graphs/contributors)
## 🎓 Цитирование
Если вы использовали нашу библиотеку в исследовательских целях, пожалуйста, процитируйте нас, используя следующую ссылку:
```text
@misc{scrapegraph-ai,
author = {Lorenzo Padoan, Marco Vinciguerra},
title = {Scrapegraph-ai},
year = {2024},
url = {https://github.com/ScrapeGraphAI/Scrapegraph-ai},
note = {A Python library for scraping leveraging large language models}
}
```
## Авторы
| | Контактная информация |
|--------------------|----------------------|
| Marco Vinciguerra | [](https://www.linkedin.com/in/marco-vinciguerra-7ba365242/) |
| Lorenzo Padoan | [](https://www.linkedin.com/in/lorenzo-padoan-4521a2154/) |
## 📜 Лицензия
ScrapeGraphAI распространяется по лицензии MIT. Дополнительную информацию см. в файле [LICENSE](https://github.com/ScrapeGraphAI/Scrapegraph-ai/blob/main/LICENSE).
## Благодарности
- Мы хотели бы поблагодарить всех контрибьюторов проекта и сообщество открытого исходного кода за их поддержку.
- ScrapeGraphAI предназначен только для исследования данных и научных целей. Мы не несём ответственности за любое неправомерное использование библиотеки.
Сделано с ❤️ компанией [ScrapeGraph AI](https://scrapegraphai.com)
[Отслеживание Scarf](https://static.scarf.sh/a.png?x-pxid=102d4b8c-cd6a-4b9e-9a16-d6d141b9212d)