GoScrapy - Go tabanlı ultra hızlı web scraping framework'ü
(github.com/tech-engine)- Python Scrapy mimarisini, Go dilinin performansından yararlanarak yerel olarak uygulayan yüksek performanslı bir web scraping framework'ü
- Tek satırlık
goscrapy startprojectkomutuyla proje yapısı, Go modülü başlatma ve bağımlılık çözümlemeye kadar otomatik scaffolding - Go'nun eşzamanlılık modeli tabanlı yüksek hacimli paralel scraping; yeniden deneme, çerez yönetimi ve eşzamanlılık işlemleri framework tarafından otomatik yönetilir
- Hata durumunda üstel geri çekilme (exponential back-off) uygulayan otomatik yeniden deneme
- Spider → Engine → Scheduler → Worker → Middleware → HTTP Client şeklinde ilerleyen net veri akışı mimarisi
- Spider, isteği Engine'e iletir; Engine de bunu Scheduler üzerinde planlar
- Scheduler, Worker Queue içinden uygun worker'ı ayırdıktan sonra işi Worker'a iletir
- Worker, Executor'ü tetikler; Executor da Middlewares üzerinden HTTP Client'a isteği gönderir
- Yanıt, ters sırayla Middlewares → Executor → Spider callback'ine geri döner
- Spider kayıtları yield ettiğinde Engine, PipelineManager aracılığıyla veriyi DB, CSV, dosya vb. hedeflere aktarır
- CSV, JSON, MongoDB, Google Sheets, Firebase gibi çeşitli dışa aktarma pipeline'ları varsayılan olarak dahildir
- Azure TLS, Dupefilter gibi yerleşik middleware'ler sunar; neredeyse tüm katmanlar değiştirilebilir ve genişletilebilir şekilde tasarlanmıştır
- Zincirlenebilir CSS/XPath selector'larıyla esnek HTML parsing
settings.goiçinde middleware ve pipeline'ları merkezi olarak yapılandıran,spider.gotarafını ise yalnızca parsing mantığına odaklayan temiz bir yapı- Google Maps scraper, Fingerprint Spoofing (bot tespiti atlatma), TUI gerçek zamanlı izleme gibi pratik örnekler sunar
- Şu anda v0.x geliştirme aşamasında; kararlı v1.0'a doğru Core API sürekli iyileştiriliyor
- Business Source License (BSL): Ticari ürünlerde serbestçe kullanılabilir, ancak framework'ün kendisinin rakip bir hizmet olarak yeniden satılması kısıtlanır
Henüz yorum yok.