Sobre o projeto
Crawlee é uma biblioteca abrangente de web scraping e automação de navegador para Python, projetada para ajudar desenvolvedores a criar crawlers confiáveis rapidamente. Ela fornece uma solução de ponta a ponta para crawling e scraping, desde a descoberta de URLs até a extração e armazenamento de dados.
Os principais recursos incluem:
- **Interface unificada** para crawling via HTTP e navegador headless
- **Crawling paralelo automático** baseado nos recursos do sistema
- **Anotações de tipo** para melhor experiência do desenvolvedor e menos bugs
- **Retries automáticos** em erros ou bloqueios
- **Rotação de proxies** e gerenciamento de sessões
- **Roteamento de requisições configurável** para direcionar URLs a manipuladores apropriados
- **Fila de URLs persistente** para crawling
- **Armazenamento plugável** para dados tabulares e arquivos
- **Tratamento robusto de erros**
Crawlee oferece dois tipos principais de crawlers:
- **BeautifulSoupCrawler**: Usa biblioteca HTTP e BeautifulSoup para parsing de HTML, ideal para extração eficiente de dados sem execução de JavaScript
- **PlaywrightCrawler**: Usa navegador headless via Playwright, adequado para sites com muito JavaScript que exigem interação
Ele suporta várias bibliotecas de parsing, incluindo Parsel, BeautifulSoup e HTTP bruto, e pode baixar arquivos como HTML, PDF, JPG, PNG. A biblioteca funciona em modos headful e headless.
Comparado ao Scrapy, Crawlee é baseado em asyncio, tem anotações de tipo completas, integração mais simples (scripts Python regulares), persistência de estado durante interrupções e armazenamentos de dados organizados (datasets e key-value stores).
A instalação é direta via pip com extras opcionais para recursos adicionais. Uma ferramenta CLI está disponível para configuração rápida de projetos com templates. Crawlee é desenvolvido pela Apify e pode ser implantado na plataforma Apify para execução em nuvem.
Documentação, guias e exemplos estão disponíveis no site do projeto Crawlee, com uma implementação em TypeScript também disponível para projetos JavaScript/TypeScript.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.