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/v2

Sonra kodunuzdaki import'u güncelle:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
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.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz

4 yorum

  • karisikplak

    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

  • biriktirdiklerim

    v2 aktif bakımda olduğu için o sorunlar zaten çözülmüş, glob paketi vs. hep güncel.

  • geceyarisi

    v2'ye geçince glob hatası çıkmaz mı yine? ben hiç colly kullanmadım ama dependency hell in klasik örneği gibi geldi bu

  • bygus
    @bygus

    v1.2.0 çok eski, yeni Go ile uyumsuz. v2'ye geç, bitir işin.