irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
İnternet Sizin Veritabanınız
Her web sitesinin API'si yoktur. Bazen veriyi (örneğin döviz kurlarını, e-ticaret fiyatlarını veya haber başlıklarını) doğrudan HTML sayfasından çekmeniz gerekir. Go dünyasının en popüler, en hızlı ve zarif scraping kütüphanesi Colly'dir.Colly Nasıl Çalışır?
Colly, "Callback" (Geri Çağırma) mantığıyla çalışır. "Şu CSS selektörünü (örneğin .product-title) gördüğünde şu fonksiyonu çalıştır" dersiniz.Kurulum
go get -u github.com/gocolly/colly/v2Örnek: Hacker News Başlıklarını Çekme
Kod:
package main
import ("fmt""github.com/gocolly/colly/v2")
func main() {// 1. Collector Oluşturc := colly.NewCollector(colly.AllowedDomains("news.ycombinator.com"),)
// 2. HTML Bulunduğunda Ne Yapılsın? (Callback)<br>// ".titleline" sınıfına sahip elementleri arıyoruz<br>c.OnHTML(".titleline > a", func(e *colly.HTMLElement) {<br> link := e.Attr("href")<br> title := e.Text<br> fmt.Printf("Başlık: %s\nLink: %s\n\n", title, link)<br>})<br><br>// 3. İstek Başlamadan Önce (Loglama vb.)<br>c.OnRequest(func(r *colly.Request) {<br> fmt.Println("Ziyaret ediliyor:", r.URL)<br>})<br><br>// 4. Kazımayı Başlat<br>c.Visit("[https://news.ycombinator.com/](https://news.ycombinator.com/)")<br>
}