32 puntos por xguru 5 일 전 | Aún no hay comentarios. | Compartir por WhatsApp
  • 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 startproject realiza 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.go permite configurar centralizadamente middlewares y pipelines, mientras que spider.go se 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.

Aún no hay comentarios.