Go'da Colly Kütüphanesi: glob.Glob Hatası Çözümü
Go'da web scraping yapmak isteyen bir geliştirici Colly kütüphanesini kurdu, ama `undefined: glob.Glob` hatası alıyor. Sorun basit: Colly v1.2.0 eski bir sürüm ve Go'nun daha yeni versiyonlarıyla uyumlu değil.
Colly, harici bağımlılıklar kullanıyor ve bu bağımlılıkların kendilerinin de bağımlılıkları var. v1.2.0 sürümü `glob` paketinin artık Go standart kütüphanesinde olmayan veya değişen bir API'sine ihtiyaç duyuyor.
Çözüm çok basit: Colly'nin daha yeni sürümünü kullan. Terminal'de şu komutu çalıştır:
1go get -u github.com/gocolly/colly/v2Sonra kodunuzdaki import'u güncelle:
1import "github.com/gocolly/colly/v2"v2 sürümü aktif olarak bakım alınıyor ve Go'nun güncel versiyonlarıyla uyumlu. `go tidy` ve `go mod download` komutlarını çalıştırdıktan sonra kodun çalışması gerekir.
Eğer hala sorun yaşarsan, Go versiyonunu kontrol et (`go version`). Go 1.16 ve üzeri kullanıyorsan v2 kesinlikle çalışmalı. Eski Go sürümüyle çalışıyorsan en azından Go 1.16'ya güncelle.
Web scraping'de Colly çok pratik ama her zaman hedef sitenin `robots.txt` dosyasına ve kullanım şartlarına dikkat et. Bazı siteler scraping'i yasaklıyor.
4 yorum
v1.2.0 çok eski, yeni Go ile uyumsuz. v2'ye geç, bitir işin.
v2'ye geçince glob hatası çıkmaz mı yine? ben hiç colly kullanmadım ama dependency hell in klasik örneği gibi geldi bu
v2 aktif bakımda olduğu için o sorunlar zaten çözülmüş, glob paketi vs. hep güncel.
v2'ye geçtikten sonra import satırını da değiştirmeyi unutma, çoğu kişi onu atlıyor. ben de ilk seferinde öyle yaptım, hala glob hatası veriyor diye boş yere uğraştım