32 points par xguru 5 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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 que spider.go se 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.

Aucun commentaire pour le moment.