
Scraper em Python baseado em IA
## 🚀 **Procurando uma forma ainda mais rápida e simples de fazer scraping em escala (com apenas 5 linhas de código)?** Confira nossa versão aprimorada em [**ScrapeGraphAI.com**](https://scrapegraphai.com/?utm_source=github&utm_medium=readme&utm_campaign=oss_cta&ut#m_content=top_banner)! 🚀
---
# 🕷️ ScrapeGraphAI: Você Só Faz Scraping Uma Vez
<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) é uma biblioteca Python de *web scraping* que usa LLM e lógica direta de grafos para criar pipelines de scraping para sites e documentos locais (XML, HTML, JSON, Markdown, etc.).
Basta dizer quais informações você deseja extrair e a biblioteca fará isso por você!
## 🚀 Integrações
O ScrapeGraphAI oferece integração perfeita com frameworks e ferramentas populares para aprimorar suas capacidades de scraping. Esteja você desenvolvendo com Python ou Node.js, usando frameworks de LLM ou trabalhando com plataformas no-code, temos tudo o que você precisa com nossas opções abrangentes de integração..
<p align="center">
<a href="https://scrapegraphai.com">
<img src="https://assets.kitploit.com/production/public/readmes/41478/0e788431fde2dc01cf2aa4b53d87b9befe3c728b719a5a45dec11ffb4d7c77a5.png" alt="Extração de dados web em escala? Experimente a nuvem do ScrapeGraphAI" style="width: 100%;">
</a>
</p>
Você pode encontrar mais informações no seguinte [link](https://scrapegraphai.com)
**Integrações**:
- **API**: [Documentação](https://docs.scrapegraphai.com/introduction)
- **SDKs**: [Python](https://docs.scrapegraphai.com/sdks/python), [Node](https://docs.scrapegraphai.com/sdks/javascript)
- **Frameworks de 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)
- **Frameworks 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)
- **Servidor MCP**: [Link](https://smithery.ai/server/@ScrapeGraphAI/scrapegraph-mcp)
## 🚀 Instalação rápida
A página de referência do Scrapegraph-ai está disponível na página oficial do PyPI: [pypi](https://pypi.org/project/scrapegraphai/).
```bash
pip install scrapegraphai
# IMPORTANT (for fetching websites content)
playwright install
```
**Nota**: é recomendado instalar a biblioteca em um ambiente virtual para evitar conflitos com outras bibliotecas 🐱
## 💻 Uso
Existem vários pipelines de scraping padrão que podem ser usados para extrair informações de um site (ou arquivo local).
O mais comum é o `SmartScraperGraph`, que extrai informações de uma única página com base em um prompt do usuário e uma URL de origem.
```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]
> Para modelos OpenAI e outros, basta alterar a configuração do LLM!
> ```python
>graph_config = {
> "llm": {
> "api_key": "YOUR_OPENAI_API_KEY",
> "model": "openai/gpt-4o-mini",
> },
> "verbose": True,
> "headless": False,
>}
>```
A saída será um dicionário como o seguinte:
```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"
}
}
```
Existem outros pipelines que podem ser usados para extrair informações de múltiplas páginas, gerar scripts Python ou até mesmo gerar arquivos de áudio.
| Pipeline Name | Description |
|-------------------------|------------------------------------------------------------------------------------------------------------------|
| SmartScraperGraph | Scraper de página única que precisa apenas de um prompt do usuário e uma fonte de entrada. |
| SearchGraph | Scraper de várias páginas que extrai informações dos primeiros n resultados de busca de um mecanismo de pesquisa. |
| SpeechGraph | Scraper de página única que extrai informações de um site e gera um arquivo de áudio. |
| ScriptCreatorGraph | Scraper de página única que extrai informações de um site e gera um script Python. |
| SmartScraperMultiGraph | Scraper de várias páginas que extrai informações de múltiplas páginas a partir de um único prompt e uma lista de fontes. |
| ScriptCreatorMultiGraph | Scraper de várias páginas que gera um script Python para extrair informações de múltiplas páginas e fontes. |
Para cada um desses grafos existe a versão multi. Ela permite fazer chamadas do LLM em paralelo.
É possível usar diferentes LLMs por meio de APIs, como **OpenAI**, **Groq**, **Azure**, **Gemini**, **[MiniMax](https://github.com/scrapegraphai/scrapegraph-ai/blob/main/docs/minimax.md)** e outras, ou modelos locais usando **Ollama**.
Lembre-se de ter o [Ollama](https://ollama.com/) instalado e baixar os modelos usando o comando **ollama pull**, se quiser usar modelos locais.
## 📖 Documentação
[](https://colab.research.google.com/drive/1sEZBonBMGP44CtO6GQTwAlL0BGJXjtfd?usp=sharing)
A documentação do ScrapeGraphAI pode ser encontrada [aqui](https://docs.scrapegraphai.com/introduction).
## 🆚 Open Source vs API Gerenciada
O ScrapeGraphAI vem em duas versões: **esta biblioteca de código aberto**, que você mesmo executa, e a **API de nuvem gerenciada** (usada por meio dos SDKs [Python](https://github.com/ScrapeGraphAI/scrapegraph-py) e [JS/TS](https://github.com/ScrapeGraphAI/scrapegraph-js)). Esta tabela explica a diferença para que você possa escolher a opção certa.
| | Open Source (`scrapegraphai`) | API Gerenciada (`scrapegraph-py` / `scrapegraph-js`) |
|---|---|---|
| **O que é** | Uma biblioteca Python que você mesmo executa | Um serviço de nuvem hospedado que você chama via SDK |
| **Onde é executado** | Sua própria infraestrutura (self-hosted) | Nuvem do ScrapeGraphAI |
| **LLM** | Traga o seu (OpenAI, Groq, Gemini, Azure, local via Ollama) | Gerenciado para você |
| **Renderização de Browser / JS** | Você configura (Playwright) | Gerenciada (modos stealth, `auto`/`fast`/`js`) |
| **Proxies e anti-bot** | Sua responsabilidade | Incluídos |
| **Escala e manutenção** | Sua responsabilidade | Totalmente gerenciadas |
| **Modelo de custo** | Tokens de LLM + sua própria infraestrutura | Créditos pagos conforme o uso |
| **Autenticação** | Suas próprias chaves de LLM | `SGAI_API_KEY` |
| **Recursos** | Pipelines de grafo (SmartScraper, Search, Speech, ScriptCreator…) | Scrape, Extract, Search, Crawl, Monitor, History |
| **Esforço de configuração** | Mais configuração | Mínimo — chave de API + uma chamada |
| **Licença** | MIT | O SDK é MIT; o serviço de API é pago |
**Escolha a biblioteca de código aberto** se você quiser controle total, dados on-premise/self-hosted, LLMs locais (Ollama) ou ajuste fino de custos — e estiver disposto a gerenciar navegadores, proxies e escala por conta própria.
**Escolha a API gerenciada** se você quiser infraestrutura zero, renderização de JS gerenciada e anti-bot, tarefas integradas de **Crawl** e **Monitor** agendadas, e o caminho mais rápido para produção — cobrado por crédito.
- Biblioteca de código aberto: https://github.com/ScrapeGraphAI/Scrapegraph-ai
- SDK Python: https://github.com/ScrapeGraphAI/scrapegraph-py
- SDK JS/TS: https://github.com/ScrapeGraphAI/scrapegraph-js
- Documentação da API: https://docs.scrapegraphai.com/introduction
## 🤝 Contribuindo
Sinta-se à vontade para contribuir e entre no nosso servidor do Discord para discutir melhorias conosco e nos dar sugestões!
Por favor, consulte as [diretrizes de contribuição](https://github.com/ScrapeGraphAI/Scrapegraph-ai/blob/main/CONTRIBUTING.md).
[](https://discord.gg/uJN7TYcpNa)
[](https://www.linkedin.com/company/scrapegraphai/)
[](https://twitter.com/scrapegraphai)
## 🔗 API e SDKs do ScrapeGraph
Se você procura uma solução rápida para integrar o ScrapeGraph ao seu sistema, confira nossa poderosa API [aqui!](https://scrapegraphai.com)
[](https://scrapegraphai.com)
Oferecemos SDKs em Python e Node.js, facilitando a integração em seus projetos. Confira abaixo:
| SDK | Linguagem | Link do GitHub |
|----------|-----------|-----------------------------------------------------------------------------|
| SDK Python | Python | [scrapegraph-py](https://docs.scrapegraphai.com/sdks/python) |
| SDK Node.js | Node.js | [scrapegraph-js](https://docs.scrapegraphai.com/sdks/javascript) |
A Documentação Oficial da API pode ser encontrada [aqui](https://docs.scrapegraphai.com/introduction).
## 📈 Telemetria
Coletamos métricas de uso anônimas para melhorar a qualidade e a experiência do usuário do nosso pacote. Os dados nos ajudam a priorizar melhorias e garantir compatibilidade. Se desejar não participar, defina a variável de ambiente SCRAPEGRAPHAI_TELEMETRY_ENABLED=false. Para mais informações, consulte a documentação [aqui](https://docs.scrapegraphai.com/introduction).
## ❤️ Contribuidores
[](https://github.com/ScrapeGraphAI/Scrapegraph-ai/graphs/contributors)
## 🎓 Citações
Se você usou nossa biblioteca para fins de pesquisa, por favor cite-nos com a seguinte referência:
```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}
}
```
## Autores
| | Informações de Contato |
|--------------------|------------------------|
| Marco Vinciguerra | [](https://www.linkedin.com/in/marco-vinciguerra-7ba365242/) |
| Lorenzo Padoan | [](https://www.linkedin.com/in/lorenzo-padoan-4521a2154/) |
## 📜 Licença
O ScrapeGraphAI é licenciado sob a Licença MIT. Consulte o arquivo [LICENSE](https://github.com/ScrapeGraphAI/Scrapegraph-ai/blob/main/LICENSE) para mais informações.
## Agradecimentos
- Gostaríamos de agradecer a todos os contribuidores do projeto e à comunidade de código aberto pelo apoio.
- O ScrapeGraphAI destina-se apenas a fins de exploração de dados e pesquisa. Não somos responsáveis por qualquer uso indevido da biblioteca.
Feito com ❤️ por [ScrapeGraph AI](https://scrapegraphai.com)
[Scarf tracking](https://static.scarf.sh/a.png?x-pxid=102d4b8c-cd6a-4b9e-9a16-d6d141b9212d)