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.