GoScrapy - framework ultrarrápido de web scraping basado en Go
(github.com/tech-engine)- Framework de web scraping de alto rendimiento que implementa de forma nativa la arquitectura de Scrapy en Python, aprovechando el rendimiento del lenguaje Go
- Con una sola línea, el comando
goscrapy startprojectrealiza scaffolding automático hasta la estructura del proyecto, la inicialización del módulo de Go y la resolución de dependencias - Scraping paralelo de alto rendimiento basado en el modelo de concurrencia de Go; el framework gestiona automáticamente los reintentos, las cookies y el manejo de concurrencia
- Reintentos automáticos aplicando backoff exponencial (exponential back-off) en caso de fallo
- Arquitectura de flujo de datos clara que va de Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
- El Spider entrega las solicitudes al Engine, y el Engine las programa en el Scheduler
- El Scheduler asegura un worker disponible en la Worker Queue y luego entrega la tarea al Worker
- El Worker activa el Executor, y el Executor envía la solicitud al HTTP Client pasando por los Middlewares
- La respuesta regresa en orden inverso: Middlewares → Executor → callback del Spider
- Cuando el Spider hace yield de registros, el Engine exporta los datos a DB, CSV, archivos, etc. mediante el PipelineManager
- Incluye de forma nativa varios pipelines de exportación, como CSV, JSON, MongoDB, Google Sheets y Firebase
- Ofrece middlewares integrados como Azure TLS y Dupefilter, con un diseño donde casi todas las capas pueden reemplazarse o ampliarse
- Parsing flexible de HTML con selectores CSS/XPath encadenables
- Estructura limpia donde
settings.gopermite configurar centralizadamente middlewares y pipelines, mientras quespider.gose enfoca solo en la lógica de parsing - Incluye ejemplos prácticos como scraper de Google Maps, Fingerprint Spoofing (evasión de detección de bots) y monitoreo en tiempo real con TUI
- Actualmente en etapa de desarrollo v0.x, con mejoras continuas al Core API rumbo a una versión v1.0 estable
- Business Source License (BSL): se puede usar libremente en productos comerciales, pero está restringida la reventa del propio framework como servicio competidor
Aún no hay comentarios.