Home
Login

Uma poderosa biblioteca de web scraping e automação de navegador Node.js com suporte para JavaScript e TypeScript, ideal para extrair dados para IA, LLM, RAG, etc.

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - Framework Moderno para Web Scraping e Automação de Navegadores

Visão Geral do Projeto

Crawlee é uma poderosa biblioteca Node.js para web scraping e automação de navegadores, desenvolvida pela Apify, projetada para construir web crawlers confiáveis. O projeto suporta JavaScript e TypeScript, sendo capaz de fornecer serviços de extração de dados de alta qualidade para aplicações de IA, Modelos de Linguagem Grandes (LLM), Geração Aumentada por Recuperação (RAG), etc.

Endereço do GitHub: https://github.com/apify/crawlee

Principais Características e Funcionalidades

🚀 Interface de Scraping Unificada

  • Suporte a Múltiplos Mecanismos: Interface unificada que suporta requisições HTTP e scraping com navegadores headless.
  • Seleção Flexível: Escolha o método de scraping mais adequado às suas necessidades.

🔄 Gerenciamento Inteligente de Filas

  • Filas Persistentes: Suporte a filas de rastreamento de URLs em largura e profundidade.
  • Escalonamento Automático: Ajusta automaticamente a escala de scraping com base nos recursos do sistema.

💾 Sistema de Armazenamento Flexível

  • Suporte a Múltiplos Formatos: Suporte plugável para armazenamento de dados tabulares e arquivos.
  • Local/Nuvem: Armazenamento padrão no diretório local ./storage, com suporte para armazenamento em nuvem.

🔒 Anti-Detecção de Nível Empresarial

  • Rotação de Proxies: Integração de rotação de proxies e gerenciamento de sessões.
  • Simulação Humana: Configuração padrão que simula o comportamento humano para contornar a detecção de bots modernos.
  • Falsificação de Impressão Digital: Geração automática de impressões digitais TLS e cabeçalhos de requisição semelhantes aos de navegadores reais.

🛠 Amigável ao Desenvolvedor

  • Suporte Nativo a TypeScript: Definições de tipo completas e suporte a genéricos.
  • Ferramenta CLI: Fornece um scaffolding para criar projetos rapidamente.
  • Ganchos de Ciclo de Vida: Tratamento personalizável de eventos do ciclo de vida.
  • Pronto para Docker: Dockerfile integrado para facilitar a implantação.

Métodos de Scraping Suportados

Scraping HTTP

  • Alto Desempenho: Suporte a HTTP2 sem configuração, incluindo proxies.
  • Análise Inteligente: Integração de analisadores HTML rápidos Cheerio e JSDOM.
  • Amigável a APIs: Suporte também para scraping de APIs JSON.

Automação de Navegadores

  • Múltiplos Navegadores: Suporte a Chrome, Firefox, Webkit e outros navegadores.
  • Renderização JavaScript: Lida com conteúdo dinâmico e aplicações de página única.
  • Funcionalidade de Captura de Tela: Suporte para capturas de tela de páginas.
  • Modo Headless/Com Cabeça: Escolha flexível do modo de execução.
  • Interface Unificada: Playwright e Puppeteer usam a mesma interface de API.

Começo Rápido

Criar um Projeto Usando a CLI

npx crawlee create my-crawler
cd my-crawler
npm start

Código de Exemplo Básico

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

Instalar Dependências

npm install crawlee playwright

Arquitetura Técnica

Módulos Principais

  • @crawlee/core: Módulo de funcionalidades principais.
  • @crawlee/types: Definições de tipo TypeScript.
  • @crawlee/utils: Funções de utilidade.

Bibliotecas e Ferramentas Suportadas

  • Playwright: Automação de navegadores moderna.
  • Puppeteer: Automação de Chrome/Chromium.
  • Cheerio: Análise HTML rápida.
  • JSDOM: Operação e análise de DOM.

Implantação e Integração

Desenvolvimento Local

  • Dados armazenados por padrão no diretório ./storage.
  • Suporte para personalizar o local de armazenamento através de arquivos de configuração.
  • Guia de configuração completo e suporte à documentação.

Implantação na Nuvem

  • Plataforma Apify: Como o Crawlee é desenvolvido pela Apify, pode ser facilmente implantado na plataforma de nuvem Apify.
  • Suporte a Docker: Configuração Docker integrada, suportando implantação em contêineres.
  • Multiplataforma: Pode ser executado em qualquer ambiente que suporte Node.js.

Gerenciamento de Versões

  • Versão Estável: Instale a versão de lançamento estável via npm.
  • Versão Beta: Suporte para instalar versões beta para testar novas funcionalidades.
npm install crawlee@3.12.3-beta.13

Cenários de Aplicação

Ciência de Dados e IA

  • Conjuntos de Dados de Aprendizado de Máquina: Coleta de dados de treinamento para modelos de IA.
  • Sistemas RAG: Fornece uma base de conhecimento para sistemas de Geração Aumentada por Recuperação.
  • Treinamento de LLM: Coleta de dados de pré-treinamento para modelos de linguagem grandes.

Aplicações Comerciais

  • Análise da Concorrência: Monitoramento de produtos e informações de preços dos concorrentes.
  • Pesquisa de Mercado: Coleta de tendências da indústria e dados de mercado.
  • Agregação de Conteúdo: Coleta automatizada de notícias, artigos, etc.

Monitoramento Técnico

  • Monitoramento de Sites: Verificação regular de alterações em sites.
  • Rastreamento de Preços: Monitoramento de preços de produtos de comércio eletrônico.
  • Backup de Dados: Backup regular de conteúdo importante de páginas da web.

Conclusão

Crawlee é um framework de web scraping abrangente e com design moderno, especialmente adequado para aplicações de nível empresarial que exigem alta confiabilidade e capacidade anti-detecção. Seu design de API unificado, poderosas funcionalidades anti-detecção e ecossistema completo o tornam a escolha ideal para projetos modernos de coleta de dados. Seja para coletar dados para projetos de IA ou para realizar análises de inteligência de negócios, o Crawlee pode fornecer uma solução estável e confiável.