Sobre o projeto
O Crawl4AI é uma biblioteca Python e ferramenta CLI de código aberto para crawling e scraping web, projetada para produzir Markdown limpo e pronto para LLMs. É amplamente utilizado para construir pipelines RAG, agentes de IA e fluxos de extração de dados.
## Visão Geral
O Crawl4AI transforma a web em Markdown estruturado adequado para processamento downstream por IA. Suporta uso programático em Python e interface de linha de comando, com extração opcional de dados estruturados baseada em LLM e extração de esquema baseada em CSS/XPath.
## Principais Capacidades
### Geração de Markdown
- Produz Markdown limpo e estruturado com títulos, tabelas e blocos de código
- O modo Fit Markdown aplica filtragem heurística para remover ruído e conteúdo irrelevante
- Saída com awareness de citações, convertendo links em referências numeradas
- Filtragem de conteúdo baseada em BM25 para extração relevante à consulta
- Estratégias de geração de Markdown pluggáveis
### Extração de Dados Estruturados
- Extração orientada por LLM via LiteLLM, suportando modelos open-source e proprietários
- Extração baseada em esquema JSON usando seletores CSS e XPath
- Estratégias de chunking (baseadas em tópico, regex, nível de sentença) para processamento direcionado
- Busca por similaridade cossina para correspondência semântica de conteúdo
### Integração com Navegador
- Pool de navegadores assíncrono alimentado por Playwright
- Modo gerenciado usando perfis de navegador de propriedade do usuário com estados de autenticação e cookies salvos
- Controle remoto de navegador via Chrome DevTools Protocol
- Suporte a proxy com autenticação
- Modo stealth para reduzir detecção de bots
- Suporte a múltiplos navegadores (Chromium, Firefox, WebKit)
- Ajuste dinâmico de viewport
### Recursos de Crawling
- Execução de JavaScript com suporte a wait assíncrono/síncrono para conteúdo dinâmico
- Captura de screenshots durante crawls
- Extração de mídia (imagens, áudio, vídeo, formatos responsive srcset/picture)
- Processamento de HTML bruto e arquivos locais
- Extração abrangente de links incluindo conteúdo de iframe
- Manipulação de lazy load e scan de página completa para infinite scroll
- Customização baseada em hooks em todas as etapas de crawling
- Cache embutido
### Deploy
- Servidor FastAPI dockerizado para fluxos de trabalho baseados em API
- Autenticação JWT (habilitada por padrão nas versões recentes)
- Dashboard de monitoramento e playground interativo em `/dashboard` e `/playground`
- Integração MCP para conexões de ferramentas de IA
- Imagens Docker multi-arquitetura (AMD64/ARM64)
- Pronto para deploy em cloud
## Instalação
```bash
pip install -U crawl4ai
crawl4ai-setup
```
Para instalação manual do Playwright:
```bash
python -m playwright install --with-deps chromium
```
## Uso
### API Python
```python
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(url="https://example.com")
print(result.markdown)
asyncio.run(main())
```
### CLI
```bash
# Crawl básico
crwl https://example.com -o markdown
# Deep crawl
crwl https://example.com --deep-crawl bfs --max-pages 10
# Extração LLM
crwl https://example.com -q "Extract all product prices"
```
### Docker
```bash
docker pull unclecode/crawl4ai:latest
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
```
Depois, acesse `http://localhost:11235/dashboard` para a UI de monitoramento ou `http://localhost:11235/playground` para o ambiente interativo de testes.
## Detalhes do Projeto
- Repositório: unclecode/crawl4ai
- PyPI: crawl4ai
- Documentação: https://docs.crawl4ai.com/
- Comunidade Discord: https://discord.gg/jP8KfhDhyN
- Patrocinadores: https://github.com/sponsors/unclecode
O projeto enfatiza disponibilidade e acessibilidade, posicionando-se como alternativa self-hosted para APIs comerciais de extração web. Acumulou mais de 50.000 estrelas no GitHub e mantém segurança ativamente por meio de releases regulares.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.