Sobre el proyecto
Crawlee es una biblioteca integral de scraping web y automatización de navegadores para Python, diseñada para ayudar a los desarrolladores a crear rastreadores fiables rápidamente. Proporciona una solución de extremo a extremo para el rastreo y scraping, desde el descubrimiento de URL hasta la extracción y almacenamiento de datos.
Las características principales incluyen:
- Interfaz unificada tanto para rastreo basado en HTTP como con navegador sin interfaz (headless)
- Rastreo paralelo automático basado en los recursos del sistema
- Type hints para una mejor experiencia de desarrollo y menos errores
- Reintentos automáticos ante errores o bloqueos
- Rotación de proxies y gestión de sesiones
- Enrutamiento de solicitudes configurable para dirigir URLs a los manejadores adecuados
- Cola de URL persistente para el rastreo
- Almacenamiento enchufable (pluggable) para datos tabulares y archivos
- Manejo robusto de errores
Crawlee ofrece dos tipos principales de rastreadores:
- BeautifulSoupCrawler: utiliza la biblioteca HTTP y BeautifulSoup para el análisis de HTML, ideal para la extracción eficiente de datos sin ejecución de JavaScript
- PlaywrightCrawler: utiliza un navegador sin interfaz mediante Playwright, adecuado para sitios con mucho JavaScript que requieren interacción
Admite varias bibliotecas de análisis, incluidas Parsel, BeautifulSoup y HTTP sin procesar, y puede descargar archivos como HTML, PDF, JPG y PNG. La biblioteca funciona tanto en modo con interfaz (headful) como sin interfaz (headless).
En comparación con Scrapy, Crawlee está basado en asyncio, tiene type hints completos, integración más sencilla (scripts regulares de Python), persistencia de estado durante interrupciones y almacenes de datos organizados (conjuntos de datos y almacenes de clave-valor).
La instalación es sencilla mediante pip con extras opcionales para funciones adicionales. Hay una herramienta CLI disponible para la configuración rápida de proyectos con plantillas. Crawlee es desarrollado por Apify y se puede implementar en la plataforma Apify para ejecución en la nube.
La documentación, guías y ejemplos están disponibles en el sitio web del proyecto Crawlee, con una implementación en TypeScript también disponible para proyectos de JavaScript/TypeScript.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.