Crawlee: Biblioteca de Raspar Web para Node.js¶
Crawlee é uma solução completa para quem precisa construir rastreadores web robustos em ambientes Node.js. Ela combina diversas tecnologias de automação e parsing para oferecer flexibilidade na coleta de dados, armazenamento e integração com pipelines de IA ou análise.
Introdução¶
Crawlee entrega um conjunto de ferramentas que abrange desde a navegação em páginas até o armazenamento dos resultados. Sua arquitetura permite escolher entre diferentes drivers (Puppeteer, Playwright, Cheerio, JSDOM ou HTTP puro) conforme a necessidade de renderização JavaScript ou simplicidade de requisições.
Instalação¶
Para começar, é necessário ter Node.js versão 16 ou superior instalada. Depois disso, você pode usar a Crawlee CLI ou instalar manualmente.
Dica
A CLI cria um projeto pronto para uso com um exemplo de introdução, reduzindo o tempo de configuração.
Via Crawlee CLI¶
Instalação manual¶
Se preferir adicionar Crawlee a um projeto existente, instale o pacote principal e, caso queira usar o PlaywrightCrawler, também instale o Playwright separadamente:
Atenção
O Playwright não é incluído automaticamente para manter o tamanho do pacote reduzido; ele deve ser adicionado conforme o driver escolhido.
Uso básico¶
O exemplo abaixo demonstra como criar um rastreador com Playwright, extrair o título de cada página e salvar os resultados em um conjunto de dados.
import { PlaywrightCrawler, Dataset } from 'crawlee';
const crawler = new PlaywrightCrawler({
async requestHandler({ request, page, enqueueLinks, log }) {
const title = await page.title();
log.info(`Título de ${request.loadedUrl} é '${title}'`);
// Salva título e URL como JSON em ./storage/datasets/default
await Dataset.pushData({ title, url: request.loadedUrl });
// Opcional: enfileirar links encontrados na página
await enqueueLinks();
},
});
await crawler.run(['https://example.com']);
Recursos principais¶
- Compatibilidade múltipla: trabalha com Puppeteer, Playwright, Cheerio, JSDOM e requisições HTTP brutas.
- Modos headful e headless: permite execução com interface gráfica ou em segundo plano.
- Rotação de proxies: integrada para reduzir chances de bloqueio.
- Armazenamento flexível: salva dados em disco (JSON, CSV, etc.) ou envia para serviços de nuvem.
- CLI e scaffolds: gera estrutura de projeto e exemplos prontos para teste.
Pontos-chave¶
- Crawlee simplifica a construção de rastreadores Node.js com suporte a várias bibliotecas de automação.
- Oferece modos headful/headless, rotação de proxies e armazenamento configurável.
- Requer Node.js ≥16 e, opcionalmente, Playwright ou Puppeteer conforme o driver escolhido.
- A CLI acelera a criação de projetos com um exemplo de introdução pronto para uso.
- Ideal para coleta de dados destinada a IA, LLMs, RAG ou processos de ETL.
Ferramentas e Tecnologias¶
- [[Playwright]]
- [[Puppeteer]]
- [[Cheerio]]
- [[JSDOM]]
- [[npm]]
Nota pessoal
https://github.com/apify/crawlee