Sobre o projeto
Crawlee é uma biblioteca de scraping web e automação de navegador para Node.js, escrita em TypeScript e distribuída como o pacote NPM `crawlee`. Ela visa cobrir crawling e scraping de ponta a ponta, fornecendo uma interface única tanto para crawling HTTP quanto para crawling com navegador real.
Principais capacidades descritas no README:
- Interface única para crawling HTTP e com navegador headless
- Fila persistente para URLs a serem rastreadas, com suporte a ordenação em largura e profundidade
- Armazenamento plugável para dados tabulares e arquivos, com padrão de diretório local `./storage`
- Escalonamento automático com os recursos do sistema disponíveis
- Rotação de proxy e gerenciamento de sessão integrados
- Ciclos de vida personalizáveis com hooks
- CLI para inicializar projetos (`npx crawlee create my-crawler`)
- Roteamento configurável, tratamento de erros e tentativas
- Dockerfiles prontos para implantação
- Escrito em TypeScript com genéricos
Os recursos de crawling HTTP incluem suporte HTTP2 com zero configuração (mesmo para proxies), geração automática de cabeçalhos semelhantes aos de navegador, replicação de impressões digitais TLS de navegador, parsers HTML rápidos integrados (Cheerio e JSDOM) e capacidade de extrair APIs JSON.
Os recursos de crawling com navegador real incluem renderização de JavaScript e capturas de tela, suporte headless e com interface, geração de impressões digitais humanas com zero configuração, gerenciamento automático de navegador e capacidade de usar Playwright e Puppeteer através da mesma interface em Chrome, Firefox, Webkit e outros.
A instalação requer Node.js 16 ou superior. O início rápido recomendado usa o CLI do Crawlee, enquanto a instalação manual envolve adicionar `crawlee` e uma biblioteca de automação de navegador, como `playwright`, a um projeto existente. Um exemplo curto mostra um `PlaywrightCrawler` que registra títulos de páginas, envia resultados para um dataset e enfileira links. Versões beta são publicadas como `crawlee@next`.
O projeto é desenvolvido pela Apify, é open-source e roda em qualquer lugar, com suporte documentado para implantação na plataforma Apify. É licenciado sob a Apache License 2.0. Os canais de suporte incluem issues no GitHub, Stack Overflow, discussões no GitHub e um servidor Discord. Uma contraparte em Python, Crawlee para Python, também é referenciada.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.