GoScrapy – Blitzschnelles Web-Scraping-Framework auf Go-Basis
(github.com/tech-engine)- Ein leistungsstarkes Web-Scraping-Framework, das die Architektur von Python Scrapy nativ implementiert und dabei die Performance der Sprache Go nutzt
- Mit dem einzelnen Befehl
goscrapy startprojectwerden Projektstruktur, Initialisierung des Go-Moduls und Auflösung von Abhängigkeiten per automatischem Scaffolding eingerichtet - Paralleles Scraping mit hohem Durchsatz auf Basis des Go-Concurrency-Modells; Retries, Cookie-Verwaltung und Concurrency-Handling werden vom Framework automatisch übernommen
- Automatische Wiederholungsversuche mit exponentiellem Back-off bei Fehlern
- Klare Datenflussarchitektur von Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
- Der Spider übergibt Anfragen an die Engine, die sie an den Scheduler weiterleitet
- Der Scheduler reserviert verfügbare Worker aus der Worker Queue und übergibt die Aufgaben an die Worker
- Der Worker triggert den Executor, der die Requests über die Middlewares an den HTTP Client sendet
- Antworten werden in umgekehrter Reihenfolge über Middlewares → Executor → Spider-Callback zurückgegeben
- Wenn der Spider Datensätze yieldet, exportiert die Engine die Daten über den PipelineManager in DBs, CSV, Dateien usw.
- Verschiedene Export-Pipelines wie CSV, JSON, MongoDB, Google Sheets, Firebase sind standardmäßig integriert
- Bietet eingebaute Middlewares wie Azure TLS und Dupefilter; nahezu jede Schicht ist austauschbar und erweiterbar
- Flexibles HTML-Parsing mit verkettbaren CSS/XPath-Selektoren
- Saubere Struktur mit zentraler Konfiguration von Middlewares und Pipelines in
settings.go, während sichspider.gonur auf die Parsing-Logik konzentriert - Enthält praxisnahe Beispiele wie einen Google-Maps-Scraper, Fingerprint Spoofing (Umgehung von Bot-Erkennung) und TUI-Echtzeitmonitoring
- Derzeit noch in der v0.x-Entwicklungsphase, die Core-API wird fortlaufend in Richtung eines stabilen v1.0 verbessert
- Business Source License (BSL): frei in kommerziellen Produkten nutzbar, aber der Weiterverkauf des Frameworks selbst als konkurrierender Service ist eingeschränkt
Noch keine Kommentare.