Crawl4AI: como instalar e testar o scraper local
Instale o Crawl4AI em um ambiente separado e veja como ele se saiu ao baixar três artigos, com tempos, tabelas e limites do Markdown.
👁 117 leituras
O Crawl4AI permite executar um scraper localmente e obter em Markdown o conteúdo de uma página baixada. Instalei a biblioteca em um ambiente separado e testei três artigos - situação em outubro de 2026.
Resumo
- A biblioteca tem licença Apache-2.0 e não cobra por cada página baixada localmente.
- As páginas do teste foram baixadas, mas o resultado bruto também incluía menus e outros elementos ao redor do texto.
- As tabelas foram preservadas na conversão; os endereços dos arquivos MP4 não apareceram no Markdown bruto.
- Os custos de equipamento, manutenção e eventual uso de um modelo ficam por conta de quem utiliza a ferramenta.
O que é o Crawl4AI e quais são as vantagens da execução local?
O Crawl4AI é uma biblioteca para baixar páginas, renderizá-las no navegador e preparar o conteúdo para processamento posterior. O programa pode retornar Markdown e, dependendo da configuração, também resultados de extração. A versão local oferece controle sobre a execução, os arquivos e as regras de filtragem. Ela dispensa a compra de pacotes de páginas de um provedor de nuvem, mas exige um ambiente Python funcional e um navegador.
É uma opção prática para processar repetidamente fontes conhecidas. Você pode especificar os endereços permitidos, verificar erros e salvar o material antes de limpá-lo. Em uma aplicação, vale separar o download da análise posterior feita por um modelo. Assim, é possível processar novamente um documento salvo sem sobrecarregar o site outra vez e sem confundir erros de rede com erros na resposta da IA.
Executar o processo localmente não significa que todo o fluxo de dados fique no computador. Baixar uma página pública exige contato com o servidor dela, e usar um modelo externo para extração envia o conteúdo indicado a esse serviço. No teste descrito, não usei extração com um modelo de linguagem. Os resultados vieram do download, da renderização e da conversão feita pela biblioteca.
Se você busca mais controle sobre onde o processamento acontece, o conteúdo sobre IA local pode ajudar. Ainda assim, executar um programa localmente não significa ter o direito de copiar dados de terceiros sem restrições.
Como instalar em um ambiente separado
Um venv separado ajuda a evitar conflitos entre as dependências de projetos diferentes. No teste, instalei o Crawl4AI em uma pasta dedicada. A instalação também baixou as dependências, e o Chromium foi instalado separadamente pelo Playwright. Os comandos abaixo mostram o mesmo procedimento no Windows. Execute-os na pasta do projeto em que você pode criar os arquivos do ambiente.
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install crawl4ai
.\.venv\Scripts\playwright.exe install chromium
O teste foi executado com Python 3.13.15, Crawl4AI 0.9.5 e Playwright 1.64.0. O Chromium instalado era da versão 156.0.8078.4. Esse registro descreve o ambiente usado no dia do teste, mas não garante que uma instalação futura terá exatamente as mesmas versões. Para reproduzir o resultado, vale registrar as versões das dependências e conferir os requisitos atuais do projeto.
- Crie uma pasta para o teste e abra um terminal nela.
- Crie um venv e instale os pacotes usando o interpretador desse ambiente.
- Instale o Chromium pelo Playwright, também no mesmo venv.
- Salve um script curto e execute-o com o mesmo interpretador.
- Confira o status do download e o conteúdo do arquivo antes de adicionar outros endereços.
Se o sistema não encontrar um comando, confira primeiro o caminho do interpretador. Instalar outra cópia do pacote globalmente pode esconder o problema e dificultar a reprodução do ambiente. Em outro sistema, o caminho do programa no venv pode mudar, mas a recomendação continua a mesma: use um único ambiente para a biblioteca, o instalador do navegador e o script.
Um script simples e os limites do exemplo
Este exemplo baixa apenas o endereço indicado. Ele não percorre o site inteiro de forma recursiva. É um bom ponto de partida, porque facilita conferir o que foi retornado. No teste, também usei configurações de cache e tempo de espera; o exemplo mostra apenas a estrutura básica da chamada apresentada na documentação.
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://example.com"
)
if not result.success:
raise RuntimeError(result.error_message)
print(result.markdown.raw_markdown)
asyncio.run(main())
Antes de ampliar o script, defina o formato de armazenamento, o escopo dos endereços e a condição para interromper a execução. Vale salvar o HTML retornado junto com o Markdown, caso seja necessário investigar por que uma tabela ou um vídeo não apareceu. Por outro lado, não é preciso arquivar todos os dados baixados sem uma razão. O escopo e o prazo de armazenamento devem corresponder ao objetivo da tarefa e às condições de uso do conteúdo.
Teste do Crawl4AI: três páginas, tempos e estrutura do Markdown
Baixei em sequência três artigos públicos, sem navegação recursiva nem login. Desativei o cache local da tarefa e não ativei um filtro para o conteúdo principal. O tempo inclui a execução de cada arun, com renderização e conversão. A inicialização separada do navegador compartilhado levou 0,560 s e não foi incluída nos valores individuais da tabela.
| Endereço no site | Tempo | Caracteres | Tabelas |
|---|---|---|---|
| /kling-4-0-test/ | 0,938 s | 23478 | 2 |
| /tryb-ai/ | 1,259 s | 38860 | 2 |
| /kling-4/ | 1,618 s | 44607 | 7 |
Todos os downloads terminaram com HTTP 200. No Markdown bruto, contei 31, 51 e 36 cabeçalhos ATX, respectivamente. Eles também incluem elementos ao redor dos artigos, portanto não representam o número de seções de cada texto. Menus e elementos repetidos aumentaram o volume do resultado. Por isso, depois da primeira execução, vale examinar o arquivo em vez de considerar que o trabalho terminou só porque a resposta HTTP foi bem-sucedida.
O número de tabelas no Markdown correspondia ao número de tabelas encontrado no HTML dos artigos. Isso, porém, não significa que cada célula tenha sido comparada caractere por caractere. Na primeira e na terceira páginas, o HTML continha fontes de vídeo, mas o Markdown bruto não preservou os endereços MP4. Uma ferramenta de extração de texto não necessariamente mantém toda a estrutura multimídia da página. Se o endereço do vídeo for importante, ele deve ser verificado em um campo separado.
Não há base para extrapolar esses tempos para qualquer site. Foram execuções únicas em uma máquina. O teste não incluiu tentativas após mudanças no layout da página, carga de várias sessões paralelas nem problemas de acesso. O objetivo é mostrar o resultado real da conversão padrão, não declarar um vencedor universal em velocidade.
O que ajustar antes de usar o Crawl4AI em uma aplicação?
Primeiro, defina qual parte da página corresponde ao conteúdo desejado. Quando o layout é estável, você pode limitar a extração ao elemento adequado e conferir se cabeçalhos, notas e tabelas foram mantidos. Essa é uma sugestão para uma próxima etapa, não um resultado de um teste adicional. Como o filtro não foi ativado no teste descrito, não é possível atribuir a ele uma melhoria específica de volume ou qualidade.
Depois, adicione tratamento de falhas e limites de escopo. A aplicação deve identificar resultados vazios, mensagens de erro do serviço e mudanças na estrutura da fonte. Repetir uma tarefa só faz sentido quando há uma causa definida, não como parte de um loop sem limite. Ao calcular os custos de uma solução local, considere o monitoramento, as atualizações de dependências e os ajustes nas regras quando uma página mudar.
O Crawl4AI pode ser uma boa escolha para quem quer configurar o processo com cuidado. Se a prioridade for ler um único artigo sem instalar nada, uma solução mais simples pode ser mais conveniente. Se você preferir que um provedor cuide da infraestrutura, avalie uma API de nuvem. A licença Apache-2.0 facilita o uso da biblioteca, mas não substitui a avaliação dos direitos sobre o conteúdo baixado.
O comparativo entre Crawl4AI, Firecrawl e Jina mostra algumas diferenças. O guia sobre dados da web para agentes também apresenta outros usos.
Perguntas frequentes
O Crawl4AI é realmente gratuito?
A biblioteca local não cobra por página e tem uma licença aberta. Equipamento, manutenção, proxies e modelos externos podem gerar custos. A oferta na nuvem é uma opção separada, com condições próprias.
Preciso de uma chave de modelo para gerar Markdown básico?
No teste descrito, não usei uma chave de modelo de linguagem. A extração com auxílio de um modelo é uma forma adicional de uso, cujos custos e fluxo de dados devem ser avaliados separadamente.
Os vídeos foram preservados?
Não como conteúdo audiovisual. O Markdown bruto não continha os endereços MP4 presentes no HTML das páginas testadas. Os vídeos não foram assistidos nem transcritos.
Fontes
- Crawl4AI - guia de início rápido - consultado em 2026-10-21.
- Crawl4AI - instalação - consultado em 2026-10-21.
- Crawl4AI - repositório - consultado em 2026-10-21.


