GoScrapy - framework de scraping web ultra-rapide basé sur Go
(github.com/tech-engine)- Framework de scraping web haute performance qui implémente nativement l’architecture de Python Scrapy en exploitant les performances du langage Go
- Avec une seule commande
goscrapy startproject, scaffolding automatique de la structure du projet, de l’initialisation du module Go et de la résolution des dépendances - Scraping parallèle à haut débit basé sur le modèle de concurrence de Go, avec gestion automatique par le framework des tentatives de relance, des cookies et de la concurrence
- En cas d’échec, nouvelle tentative automatique avec exponential back-off
- Architecture à flux de données clair allant de Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
- Le Spider transmet les requêtes à l’Engine, qui les planifie via le Scheduler
- Le Scheduler réserve un worker disponible dans la Worker Queue, puis transmet la tâche au Worker
- Le Worker déclenche l’Executor, qui envoie la requête au HTTP Client via les Middlewares
- La réponse est renvoyée en sens inverse vers les Middlewares → Executor → callback du Spider
- Quand le Spider yield des enregistrements, l’Engine exécute l’export des données vers une base de données, un CSV, un fichier, etc. via le PipelineManager
- Pipelines d’export intégrés par défaut vers CSV, JSON, MongoDB, Google Sheets, Firebase et d’autres destinations
- Middlewares intégrés comme Azure TLS et Dupefilter, avec une conception permettant de remplacer et d’étendre presque toutes les couches
- Analyse HTML flexible avec des sélecteurs CSS/XPath chaînables
- Structure propre avec configuration centralisée des middlewares et pipelines dans
settings.go, tandis quespider.gose concentre uniquement sur la logique de parsing - Exemples concrets fournis, comme un scraper Google Maps, le Fingerprint Spoofing (contournement de la détection de bots) et une surveillance temps réel en TUI
- Actuellement en phase de développement v0.x, avec amélioration continue de la Core API en vue d’une version v1.0 stable
- Business Source License (BSL) : utilisation libre dans des produits commerciaux, mais revente du framework lui-même comme service concurrent restreinte
Aucun commentaire pour le moment.