Last translated: 16 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

🚀🤖 Crawl4AI: Rastreador Web e Extrator de Dados Amigável para LLMs em Código Aberto.

unclecode%2Fcrawl4ai | Trendshift

GitHub Stars GitHub Forks

PyPI version Python Version Downloads

License Code style: black Security: bandit Contributor Covenant

Crawl4AI é o repositório #1 em tendência no GitHub, mantido ativamente por uma comunidade vibrante. Oferece rastreamento web ultrarrápido e pronto para IA, projetado para LLMs, agentes de IA e pipelines de dados. Código aberto, flexível e construído para desempenho em tempo real, o Crawl4AI capacita desenvolvedores com velocidade, precisão e facilidade de implantação sem igual.

✨ Confira a atualização mais recente v0.6.0

🎉 A versão 0.6.0 já está disponível! Esta versão candidata introduz Rastreamento Consciente do Mundo com configurações de geolocalização e localidade, Extração de Tabelas para DataFrame, Pool de Navegadores com pré-aquecimento, Captura de Tráfego de Rede e Console, integração MCP para ferramentas de IA e uma implantação Docker completamente reformulada! Leia as notas de lançamento →

🤓 Minha História Pessoal

Minha jornada com computadores começou na infância, quando meu pai, cientista da computação, me apresentou um computador Amstrad. Aqueles primeiros dias despertaram uma fascinação pela tecnologia, levando-me a estudar ciência da computação e me especializar em PLN durante meus estudos de pós-graduação. Foi nessa época que mergulhei no rastreamento web, construindo ferramentas para ajudar pesquisadores a organizar artigos e extrair informações de publicações - uma experiência desafiadora, mas gratificante, que aprimorou minhas habilidades em extração de dados.

Avançando para 2023, eu estava trabalhando em uma ferramenta para um projeto e precisava de um rastreador para converter uma página web em markdown. Ao explorar soluções, encontrei uma que alegava ser de código aberto, mas exigia criar uma conta e gerar um token de API. Pior, acabou sendo um modelo SaaS cobrando $16, e sua qualidade não atendia aos meus padrões. Frustrado, percebi que isso era um problema mais profundo. Essa frustração se transformou em modo turbo de raiva, e decidi construir minha própria solução. Em apenas alguns dias, criei o Crawl4AI. Para minha surpresa, ele se tornou viral, ganhando milhares de estrelas no GitHub e ressoando com uma comunidade global.

Tornei o Crawl4AI de código aberto por dois motivos. Primeiro, é minha forma de retribuir à comunidade de código aberto que me apoiou ao longo da minha carreira. Segundo, acredito que os dados devem ser acessíveis a todos, não trancados atrás de paywalls ou monopolizados por poucos. O acesso aberto aos dados estabelece a base para a democratização da IA, uma visão onde indivíduos podem treinar seus próprios modelos e assumir a propriedade de suas informações. Esta biblioteca é o primeiro passo em uma jornada maior para criar a melhor ferramenta de extração e geração de dados de código aberto que o mundo já viu, construída colaborativamente por uma comunidade apaixonada.

Agradeço a todos que apoiaram este projeto, usaram-no e compartilharam feedback. Seu incentivo me motiva a sonhar ainda maior. Junte-se a nós, registre problemas, envie PRs ou espalhe a palavra. Juntos, podemos construir uma ferramenta que realmente capacite as pessoas a acessar seus próprios dados e remodelar o futuro da IA.

🧐 Por que Crawl4AI?

  1. Construído para LLMs: Cria Markdown inteligente e conciso otimizado para aplicações RAG e fine-tuning.
  2. Extremamente Rápido: Entrega resultados 6x mais rápido com desempenho em tempo real e custo-eficiente.
  3. Controle Flexível do Navegador: Oferece gerenciamento de sessão, proxies e hooks personalizados para acesso contínuo a dados.
  4. Inteligência Heurística: Usa algoritmos avançados para extração eficiente, reduzindo a dependência de modelos caros.
  5. Código Aberto e Implantável: Totalmente de código aberto, sem chaves de API - pronto para integração com Docker e nuvem.
  6. Comunidade Ativa: Mantido ativamente por uma comunidade vibrante e o repositório #1 em tendência no GitHub.

🚀 Começo Rápido

  1. Instale o Crawl4AI:
# Install the package
pip install -U crawl4ai

# For pre release versions
pip install crawl4ai --pre

# Run post-installation setup
crawl4ai-setup

# Verify your installation
crawl4ai-doctor

Se encontrar problemas relacionados ao navegador, você pode instalá-los manualmente:

python -m playwright install --with-deps chromium
  1. Execute um rastreamento web simples com Python:
import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())
  1. Ou use a nova interface de linha de comando:
# Basic crawl with markdown output
crwl https://www.nbcnews.com/business -o markdown

# Deep crawl with BFS strategy, max 10 pages
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

# Use LLM extraction with a specific question
crwl https://www.example.com/products -q "Extract all product prices"

✨ Recursos

📝 Geração de Markdown
  • 🧹 Markdown Limpo: Gera Markdown limpo e estruturado com formatação precisa.
  • 🎯 Markdown Ajustado: Filtragem baseada em heurística para remover ruídos e partes irrelevantes para processamento amigável à IA.
  • 🔗 Citações e Referências: Converte links de página em uma lista de referências numeradas com citações limpas.
  • 🛠️ Estratégias Personalizadas: Os usuários podem criar suas próprias estratégias de geração de Markdown adaptadas a necessidades específicas.
  • 📚 Algoritmo BM25: Emprega filtragem baseada em BM25 para extrair informações principais e remover conteúdo irrelevante.
📊 Extração de Dados Estruturados
  • 🤖 Extração Dirigida por LLM: Suporta todos os LLMs (código aberto e proprietários) para extração de dados estruturados.
  • 🧱 Estratégias de Chunking: Implementa chunking (baseado em tópico, regex, nível de frase) para processamento de conteúdo direcionado.
  • 🌌 Similaridade de Cosseno: Encontra chunks de conteúdo relevantes com base em consultas do usuário para extração semântica.
  • 🔎 Extração Baseada em CSS: Extração rápida de dados baseada em esquema usando XPath e seletores CSS.
  • 🔧 Definição de Esquema: Defina esquemas personalizados para extrair JSON estruturado de padrões repetitivos.
🌐 Integração com Navegador
  • 🖥️ Navegador Gerenciado: Use navegadores de propriedade do usuário com controle total, evitando detecção de bots.
  • 🔄 Controle Remoto do Navegador: Conecte-se ao Chrome Developer Tools Protocol para extração de dados remota em larga escala.
  • 👤 Perfil do Navegador: Crie e gerencie perfis persistentes com estados de autenticação salvos, cookies e configurações.
  • 🔒 Gerenciamento de Sessão: Preserve estados do navegador e reutilize-os para rastreamento em várias etapas.
  • 🧩 Suporte a Proxy: Conecte-se perfeitamente a proxies com autenticação para acesso seguro.
  • ⚙️ Controle Total do Navegador: Modifique cabeçalhos, cookies, user agents e mais para configurações de rastreamento personalizadas.
  • 🌍 Suporte a Múltiplos Navegadores: Compatível com Chromium, Firefox e WebKit.
  • 📐 Ajuste Dinâmico de Viewport: Ajusta automaticamente a viewport do navegador para corresponder ao conteúdo da página, garantindo renderização completa e captura de todos os elementos.
🔎 Rastreamento & Extração
  • 🖼️ Suporte a Mídia: Extrai imagens, áudio, vídeos e formatos de imagem responsivos como srcset e picture.
  • 🚀 Rastreamento Dinâmico: Executa JS e aguarda conteúdo assíncrono ou síncrono para extração dinâmica.
  • 📸 Capturas de Tela: Captura screenshots da página durante o rastreamento para depuração ou análise.
  • 📂 Rastreamento de Dados Brutos: Processa diretamente HTML bruto (raw:) ou arquivos locais (file://).
  • 🔗 Extração Abrangente de Links: Extrai links internos, externos e conteúdo incorporado de iframes.
  • 🛠️ Hooks Personalizáveis: Define hooks em cada etapa para personalizar o comportamento de rastreamento.
  • 💾 Cache: Armazena dados em cache para melhorar a velocidade e evitar buscas redundantes.
  • 📄 Extração de Metadados: Recupera metadados estruturados de páginas web.
  • 📡 Extração de Conteúdo de IFrame: Extração contínua de conteúdo incorporado em iframes.
  • 🕵️ Tratamento de Carregamento Preguiçoso: Aguarda o carregamento completo de imagens, garantindo que nenhum conteúdo seja perdido devido ao lazy loading.
  • 🔄 Varredura Completa da Página: Simula rolagem para carregar e capturar todo o conteúdo dinâmico, perfeito para páginas com rolagem infinita.
🚀 Implantação
  • 🐳 Configuração Dockerizada: Imagem Docker otimizada com servidor FastAPI para implantação fácil.
  • 🔑 Autenticação Segura: Autenticação JWT integrada para segurança da API.
  • 🔄 Gateway de API: Implantação com um clique com autenticação por token segura para fluxos de trabalho baseados em API.
  • 🌐 Arquitetura Escalável: Projetada para produção em massa e desempenho otimizado do servidor.
  • ☁️ Implantação em Nuvem: Configurações prontas para implantação nas principais plataformas de nuvem.
🎯 Recursos Adicionais
  • 🕶️ Modo Furtivo: Evita detecção de bots imitando usuários reais.
  • 🏷️ Extração de Conteúdo Baseada em Tags: Refina o rastreamento com base em tags personalizadas, cabeçalhos ou metadados.
  • 🔗 Análise de Links: Extrai e analisa todos os links para exploração detalhada de dados.
  • 🛡️ Tratamento de Erros: Gerenciamento robusto de erros para execução contínua.
  • 🔐 CORS & Serviço Estático: Suporta cache baseado em sistema de arquivos e requisições cross-origin.
  • 📖 Documentação Clara: Guias simplificados e atualizados para onboarding e uso avançado.
  • 🙌 Reconhecimento da Comunidade: Reconhece contribuidores e pull requests para transparência.

Experimente Agora!

✨ Brinque com este Open In Colab

✨ Visite nosso Site de Documentação

Instalação 🛠️

O Crawl4AI oferece opções flexíveis de instalação para atender a diversos casos de uso. Você pode instalá-lo como um pacote Python ou usar Docker.

🐍 Usando pip

Escolha a opção de instalação que melhor atenda às suas necessidades:

Instalação Básica

Para tarefas básicas de rastreamento e extração web:

pip install crawl4ai
crawl4ai-setup # Setup the browser

Por padrão, isso instalará a versão assíncrona do Crawl4AI, usando Playwright para rastreamento web.

👉 Nota: Ao instalar o Crawl4AI, o crawl4ai-setup deve instalar e configurar automaticamente o Playwright. No entanto, se encontrar erros relacionados ao Playwright, você pode instalá-lo manualmente usando um destes métodos:

  1. Pela linha de comando:

    playwright install
    
  2. Se o acima não funcionar, tente este comando mais específico:

    python -m playwright install chromium
    

Este segundo método provou ser mais confiável em alguns casos.


Instalação com Versão Síncrona

A versão síncrona está obsoleta e será removida em versões futuras. Se precisar da versão síncrona usando Selenium:

pip install crawl4ai[sync]

Instalação para Desenvolvimento

Para contribuidores que planejam modificar o código-fonte:

git clone https://github.com/unclecode/crawl4ai.git
cd crawl4ai
pip install -e .                    # Basic installation in editable mode

Instale recursos opcionais:

pip install -e ".[torch]"           # With PyTorch features
pip install -e ".[transformer]"     # With Transformer features
pip install -e ".[cosine]"          # With cosine similarity features
pip install -e ".[sync]"            # With synchronous crawling (Selenium)
pip install -e ".[all]"             # Install all optional features
🐳 Implantação Docker

🚀 Agora Disponível! Nossa implementação Docker completamente redesenhada está aqui! Esta nova solução torna a implantação mais eficiente e contínua do que nunca.

Novos Recursos Docker

A nova implementação Docker inclui:

  • Pool de navegadores com pré-aquecimento de páginas para tempos de resposta mais rápidos
  • Playground interativo para testar e gerar código de requisição
  • Integração MCP para conexão direta com ferramentas de IA como Claude Code
  • Endpoints abrangentes de API incluindo extração HTML, screenshots, geração de PDF e execução de JavaScript
  • Suporte a múltiplas arquiteturas com detecção automática (AMD64/ARM64)
  • Recursos otimizados com gerenciamento de memória aprimorado

Começando

# Pull and run the latest release candidate
docker pull unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number

# Visit the playground at http://localhost:11235/playground

Para documentação completa, consulte nosso Guia de Implantação Docker.


Teste Rápido

Execute um teste rápido (funciona para ambas as opções Docker):

import requests

# Submit a crawl job
response = requests.post(
    "http://localhost:11235/crawl",
    json={"urls": "https://example.com", "priority": 10}
)
task_id = response.json()["task_id"]

# Continue polling until the task is complete (status="completed")
result = requests.get(f"http://localhost:11235/task/{task_id}")

Para mais exemplos, veja nossos Exemplos Docker. Para configuração avançada, variáveis de ambiente e exemplos de uso, consulte nosso Guia de Implantação Docker.

🔬 Exemplos de Uso Avançado 🔬

Você pode verificar a estrutura do projeto no diretório https://github.com/unclecode/crawl4ai/docs/examples. Lá, você encontrará uma variedade de exemplos; aqui, alguns exemplos populares são compartilhados.

📝 Geração Heurística de Markdown com Markdown Limpo e Ajustado
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
from crawl4ai.content_filter_strategy import PruningContentFilter, BM25ContentFilter
from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator

async def main():
    browser_config = BrowserConfig(
        headless=True,  
        verbose=True,
    )
    run_config = CrawlerRunConfig(
        cache_mode=CacheMode.ENABLED,
        markdown_generator=DefaultMarkdownGenerator(
            content_filter=PruningContentFilter(threshold=0.48, threshold_type="fixed", min_word_threshold=0)
        ),
        # markdown_generator=DefaultMarkdownGenerator(
        #     content_filter=BM25ContentFilter(user_query="WHEN_WE_FOCUS_BASED_ON_A_USER_QUERY", bm25_threshold=1.0)
        # ),
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result = await crawler.arun(
            url="https://docs.micronaut.io/4.7.6/guide/",
            config=run_config
        )
        print(len(result.markdown.raw_markdown))
        print(len(result.markdown.fit_markdown))

if __name__ == "__main__":
    asyncio.run(main())
🖥️ Executando JavaScript & Extraindo Dados Estruturados sem LLMs
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
from crawl4ai.extraction_strategy import JsonCssExtractionStrategy
import json

async def main():
    schema = {
    "name": "KidoCode Courses",
    "baseSelector": "section.charge-methodology .w-tab-content > div",
    "fields": [
        {
            "name": "section_title",
            "selector": "h3.heading-50",
            "type": "text",
        },
        {
            "name": "section_description",
            "selector": ".charge-content",
            "type": "text",
        },
        {
            "name": "course_name",
            "selector": ".text-block-93",
            "type": "text",
        },
        {
            "name": "course_description",
            "selector": ".course-content-text",
            "type": "text",
        },
        {
            "name": "course_icon",
            "selector": ".image-92",
            "type": "attribute",
            "attribute": "src"
        }
    }
}

    extraction_strategy = JsonCssExtractionStrategy(schema, verbose=True)

    browser_config = BrowserConfig(
        headless=False,
        verbose=True
    )
    run_config = CrawlerRunConfig(
        extraction_strategy=extraction_strategy,
        js_code=["""(async () => {const tabs = document.querySelectorAll("section.charge-methodology .tabs-menu-3 > div");for(let tab of tabs) {tab.scrollIntoView();tab.click();await new Promise(r => setTimeout(r, 500));}})();"""],
        cache_mode=CacheMode.BYPASS
    )
        
    async with AsyncWebCrawler(config=browser_config) as crawler:
        
        result = await crawler.arun(
            url="https://www.kidocode.com/degrees/technology",
            config=run_config
        )

        companies = json.loads(result.extracted_content)
        print(f"Successfully extracted {len(companies)} companies")
        print(json.dumps(companies[0], indent=2))


if __name__ == "__main__":
    asyncio.run(main())
📚 Extraindo Dados Estruturados com LLMs
import os
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode, LLMConfig
from crawl4ai.extraction_strategy import LLMExtractionStrategy
from pydantic import BaseModel, Field

class OpenAIModelFee(BaseModel):
    model_name: str = Field(..., description="Name of the OpenAI model.")
    input_fee: str = Field(..., description="Fee for input token for the OpenAI model.")
    output_fee: str = Field(..., description="Fee for output token for the OpenAI model.")

async def main():
    browser_config = BrowserConfig(verbose=True)
    run_config = CrawlerRunConfig(
        word_count_threshold=1,
        extraction_strategy=LLMExtractionStrategy(
            # Here you can use any provider that Litellm library supports, for instance: ollama/qwen2
            # provider="ollama/qwen2", api_token="no-token", 
            llm_config = LLMConfig(provider="openai/gpt-4o", api_token=os.getenv('OPENAI_API_KEY')), 
            schema=OpenAIModelFee.schema(),
            extraction_type="schema",
            instruction="""From the crawled content, extract all mentioned model names along with their fees for input and output tokens. 
            Do not miss any models in the entire content. One extracted model JSON format should look like this: 
            {"model_name": "GPT-4", "input_fee": "US$10.00 / 1M tokens", "output_fee": "US$30.00 / 1M tokens"}."""
        ),            
        cache_mode=CacheMode.BYPASS,
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result = await crawler.arun(
            url='https://openai.com/api/pricing/',
            config=run_config
        )
        print(result.extracted_content)

if __name__ == "__main__":
    asyncio.run(main())
🤖 Usando Seu Próprio Navegador com Perfil de Usuário Personalizado
import os, sys
from pathlib import Path
import asyncio, time
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode

async def test_news_crawl():
    # Create a persistent user data directory
    user_data_dir = os.path.join(Path.home(), ".crawl4ai", "browser_profile")
    os.makedirs(user_data_dir, exist_ok=True)

    browser_config = BrowserConfig(
        verbose=True,
        headless=True,
        user_data_dir=user_data_dir,
        use_persistent_context=True,
    )
    run_config = CrawlerRunConfig(
        cache_mode=CacheMode.BYPASS
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        url = "ADDRESS_OF_A_CHALLENGING_WEBSITE"
        
        result = await crawler.arun(
            url,
            config=run_config,
            magic=True,
        )
        
        print(f"Successfully crawled {url}")
        print(f"Content length: {len(result.markdown)}")

✨ Atualizações Recentes

Destaques da Versão 0.6.0

  • 🌎 Rastreamento Consciente do Mundo: Defina geolocalização, idioma e fuso horário para conteúdo autêntico específico da localidade:

      crun_cfg = CrawlerRunConfig(
          url="https://browserleaks.com/geo",          # página de teste que mostra sua localização
          locale="en-US",                              # Accept-Language & localidade da UI
          timezone_id="America/Los_Angeles",           # Fuso horário JS Date()/Intl
          geolocation=GeolocationConfig(                 # substitui coordenadas GPS
              latitude=34.0522,
              longitude=-118.2437,
              accuracy=10.0,
          )
      )
    
  • 📊 Extração de Tabela para DataFrame: Extrai tabelas HTML diretamente para CSV ou DataFrames pandas:

      crawler = AsyncWebCrawler(config=browser_config)
      await crawler.start()
    
      try:
          # Configura parâmetros de scraping
          crawl_config = CrawlerRunConfig(
              table_score_threshold=8,  # Detecção estrita de tabelas
          )
    
          # Executa extração de dados de mercado
          results: List[CrawlResult] = await crawler.arun(
              url="https://coinmarketcap.com/?page=1", config=crawl_config
          )
    
          # Processa resultados
          raw_df = pd.DataFrame()
          for result in results:
              if result.success and result.media["tables"]:
                  raw_df = pd.DataFrame(
                      result.media["tables"][0]["rows"],
                      columns=result.media["tables"][0]["headers"],
                  )
                  break
          print(raw_df.head())
    
      finally:
          await crawler.stop()
    
  • 🚀 Pool de Navegadores: Páginas iniciam quentes com instâncias de navegador pré-aquecidas para menor latência e uso de memória

  • 🕸️ Captura de Rede e Console: Logs completos de tráfego e snapshots MHTML para depuração:

    crawler_config = CrawlerRunConfig(
        capture_network=True,
        capture_console=True,
        mhtml=True
    )
    
  • 🔌 Integração MCP: Conecte-se a ferramentas de IA como Claude Code através do Model Context Protocol

    # Adicione Crawl4AI ao Claude Code
    claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse
    
  • 🖥️ Playground Interativo: Teste configurações e gere requisições de API com a interface web integrada em http://localhost:11235//playground

  • 🐳 Implantação Docker Reformulada: Imagem Docker multi-arquitetura simplificada com eficiência de recursos aprimorada

  • 📱 Sistema de Build Multi-estágio: Dockerfile otimizado com melhorias de desempenho específicas por plataforma

Leia os detalhes completos em nossas Notas de Lançamento 0.6.0 ou verifique o CHANGELOG.

Destaques da Versão Anterior: 0.5.0 (Lançamento Principal)

  • 🚀 Sistema de Rastreamento Profundo: Explore sites além das URLs iniciais com estratégias BFS, DFS e BestFirst
  • ⚡ Dispatcher Adaptativo à Memória: Ajusta dinamicamente a concorrência com base na memória do sistema
  • 🔄 Múltiplas Estratégias de Rastreamento: Rastreadores baseados em navegador e leves apenas HTTP
  • 💻 Interface de Linha de Comando: Novo CLI crwl fornece acesso conveniente pelo terminal
  • 👤 Perfilador de Navegador: Cria e gerencia perfis persistentes de navegador
  • 🧠 Assistente de Codificação Crawl4AI: Assistente de programação com IA
  • 🏎️ Modo de Raspagem LXML: Análise rápida de HTML usando a biblioteca lxml
  • 🌐 Rotação de Proxy: Suporte integrado para troca de proxies
  • 🤖 Filtro de Conteúdo LLM: Geração inteligente de markdown usando LLMs
  • 📄 Processamento de PDF: Extrai texto, imagens e metadados de arquivos PDF

Leia os detalhes completos em nossas Notas de Lançamento 0.5.0.

Numeração de Versão no Crawl4AI

O Crawl4AI segue as convenções padrão de numeração de versão do Python (PEP 440) para ajudar os usuários a entender a estabilidade e os recursos de cada lançamento.

Explicação dos Números de Versão

Nossos números de versão seguem este padrão: MAJOR.MINOR.PATCH (ex.: 0.4.3)

Versões Pré-lançamento

Usamos diferentes sufixos para indicar estágios de desenvolvimento:

  • dev (0.4.3dev1): Versões de desenvolvimento, instáveis
  • a (0.4.3a1): Lançamentos Alpha, recursos experimentais
  • b (0.4.3b1): Lançamentos Beta, recursos completos mas necessitando testes
  • rc (0.4.3): Candidatos a lançamento, versão potencial final

Instalação

  • Instalação regular (versão estável):

    pip install -U crawl4ai
    
  • Instalar versões pré-lançamento:

    pip install crawl4ai --pre
    
  • Instalar versão específica:

    pip install crawl4ai==0.4.3b1
    

Por que Pré-lançamentos?

Usamos pré-lançamentos para:

  • Testar novos recursos em cenários reais
  • Coletar feedback antes dos lançamentos finais
  • Garantir estabilidade para usuários em produção
  • Permitir que early adopters experimentem novos recursos

Para ambientes de produção, recomendamos usar a versão estável. Para testar novos recursos, você pode optar por pré-lançamentos usando a flag --pre.

📖 Documentação & Roadmap

🚨 Alerta de Atualização de Documentação: Estamos realizando uma grande reformulação da documentação na próxima semana para refletir atualizações e melhorias recentes. Fique atento para um guia mais abrangente e atualizado!

Para a documentação atual, incluindo instruções de instalação, recursos avançados e referência de API, visite nosso Site de Documentação.

Para ver nossos planos de desenvolvimento e recursos futuros, visite nosso Roadmap.

📈 Tarefas de Desenvolvimento
  • 0. Rastreador em Grafo: Navegação inteligente em sites usando algoritmos de busca em grafo para extração abrangente de páginas aninhadas
  • 1. Rastreador Baseado em Perguntas: Descoberta e extração de conteúdo na web orientada por linguagem natural
  • 2. Rastreador de Conhecimento Ótimo: Rastreamento inteligente que maximiza conhecimento enquanto minimiza extração de dados
  • 3. Rastreador Agente: Sistema autônomo para operações complexas de rastreamento em múltiplos passos
  • 4. Gerador Automático de Esquema: Converte linguagem natural em esquemas de extração
  • 5. Raspadores Específicos por Domínio: Extratores pré-configurados para plataformas comuns (acadêmicas, e-commerce)
  • 6. Índice de Incorporação Web: Infraestrutura de busca semântica para conteúdo rastreado
  • 7. Playground Interativo: Interface web para testar e comparar estratégias com assistência de IA
  • 8. Monitor de Performance: Insights em tempo real sobre operações do rastreador
  • 9. Integração com Nuvem: Soluções de implantação com um clique em provedores de nuvem
  • 10. Programa de Patrocínio: Sistema de suporte estruturado com benefícios em camadas
  • 11. Conteúdo Educacional: Série de vídeos "Como Rastrear" e tutoriais interativos

🤝 Contribuindo

Aceitamos contribuições da comunidade de código aberto. Confira nossas diretrizes de contribuição para mais informações.

Vou ajudar a modificar a seção de licença com badges. Para o efeito halftone, aqui está uma versão com ele:

Aqui está a seção de licença atualizada:

📄 Licença & Atribuição

Este projeto está licenciado sob a Licença Apache 2.0 com uma cláusula de atribuição obrigatória. Veja o arquivo Licença Apache 2.0 para detalhes.

Requisitos de Atribuição

Ao usar o Crawl4AI, você deve incluir um dos seguintes métodos de atribuição:

1. Atribuição com Badge (Recomendado)

Adicione um desses badges ao seu README, documentação ou website:

TemaBadge
Tema Disco (Animado)Powered by Crawl4AI
Tema Noturno (Escuro com Neon)Powered by Crawl4AI
Tema Escuro (Clássico)Powered by Crawl4AI
Tema Claro (Clássico)Powered by Crawl4AI

Código HTML para adicionar os badges:

<!-- Disco Theme (Animated) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-disco.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Night Theme (Dark with Neon) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-night.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Dark Theme (Classic) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-dark.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Light Theme (Classic) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-light.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Simple Shield Badge -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://img.shields.io/badge/Powered%20by-Crawl4AI-blue?style=flat-square" alt="Powered by Crawl4AI"/>
</a>

2. Atribuição em Texto

Adicione esta linha à sua documentação:

This project uses Crawl4AI (https://github.com/unclecode/crawl4ai) for web data extraction.

📚 Citação

Se você usar o Crawl4AI em sua pesquisa ou projeto, por favor cite:

@software{crawl4ai2024,
  author = {UncleCode},
  title = {Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/unclecode/crawl4ai}},
  commit = {Please use the commit hash you're working with}
}

Formato de citação em texto:

UncleCode. (2024). Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper [Computer software]. 
GitHub. https://github.com/unclecode/crawl4ai

📧 Contato

Para dúvidas, sugestões ou feedback, sinta-se à vontade para entrar em contato:

Feliz Rastreamento! 🕸️🚀

🗾 Missão

Nossa missão é desbloquear o valor de dados pessoais e empresariais transformando pegadas digitais em ativos estruturados e comercializáveis. O Crawl4AI capacita indivíduos e organizações com ferramentas de código aberto para extrair e estruturar dados, promovendo uma economia de dados compartilhada.

Visualizamos um futuro onde a IA é alimentada por conhecimento humano real, garantindo que criadores de dados se beneficiem diretamente de suas contribuições. Ao democratizar dados e permitir compartilhamento ético, estamos lançando as bases para um avanço autêntico da IA.

🔑 Oportunidades Principais
  • Capitalização de Dados: Transforme pegadas digitais em ativos mensuráveis e valiosos.
  • Dados Autênticos para IA: Forneça aos sistemas de IA insights humanos reais.
  • Economia Compartilhada: Crie um mercado de dados justo que beneficie criadores de dados.
🚀 Caminho de Desenvolvimento
  1. Ferramentas de Código Aberto: Plataformas dirigidas pela comunidade para extração transparente de dados.
  2. Estruturação de Ativos Digitais: Ferramentas para organizar e valorar conhecimento digital.
  3. Mercado de Dados Ético: Uma plataforma segura e justa para troca de dados estruturados.

Para mais detalhes, veja nossa declaração de missão completa.

Histórico de Estrelas

Gráfico de Histórico de Estrelas