Rakip fiyatlarını izlemek, tedarikçi sitesindeki stok durumunu kontrol etmek veya kamuya açık ilanları bir tabloda toplamak... Web scraping (veri kazıma), web sayfalarındaki bilgilerin bir program tarafından otomatik olarak okunup yapılandırılmış veriye dönüştürülmesidir. Güçlü bir araçtır; ama sınırları iyi bilinmelidir.
Önce API var mı?
Scraping'e başlamadan önce sorulacak ilk soru: Bu verinin resmî bir API'si, veri dosyası veya iş ortaklığı yoluyla erişim imkânı var mı? API'ler daha kararlıdır, hukuki açıdan nettir ve sayfa tasarımı değiştiğinde bozulmaz. Bkz. API nedir.
Kullanım alanları
- Fiyat ve ürün bilgisi takibi
- Tedarikçi stok ve fiyat listelerinin güncellenmesi
- Kamuya açık ihale, ilan ve duyuruların izlenmesi
- Kendi sitenizin içerik ve bağlantı denetimi
Hukuki ve etik sınırlar
Bu bölüm genel bilgilendirmedir; somut projeler için hukuki görüş alınmalıdır.
- Kullanım koşulları: Birçok site otomatik veri toplamayı yasaklar. Bu koşullara aykırılık sözleşmesel sorumluluk doğurabilir.
- robots.txt: Site sahibinin tarayıcılara yönelik tercihlerini gösterir; saygı göstermek iyi uygulamadır. Bkz. robots.txt.
- Kişisel veriler: Kişilere ait bilgileri (isim, telefon, e-posta) toplamak, kamuya açık olsalar bile KVKK kapsamında veri işlemedir ve hukuki dayanak gerektirir.
- Telif ve veritabanı hakları: Metin, görsel ve emek yoğun derlenmiş veritabanlarının kopyalanması fikri mülkiyet sorunları doğurabilir.
- Erişim engellerini aşmak: Giriş gerektiren alanlara izinsiz erişim veya teknik korumaları atlatmak ciddi hukuki risk taşır.
Kibar tarayıcı kuralları
- İstekleri yavaş gönderin; karşı sitenin sunucusunu yormayın.
- Kendinizi tanıtan bir kullanıcı ajanı (user-agent) ve iletişim bilgisi kullanın.
- Yalnızca ihtiyaç duyduğunuz sayfaları ve alanları alın.
- Sonuçları önbelleğe alın; aynı sayfayı tekrar tekrar istemeyin.
- Engellenirseniz bunu bir işaret olarak kabul edin, atlatmaya çalışmayın.
Teknik yaklaşım
- Statik sayfalar: HTML indirilip ayrıştırılır (.NET'te HttpClient ve bir HTML ayrıştırıcı).
- JavaScript ile oluşan sayfalar: Tarayıcıyı otomatik süren araçlar gerekir; daha yavaş ve kırılgandır.
- Dayanıklılık: Sayfa yapısı değiştiğinde iş sessizce bozulur. Beklenen alanlar gelmediğinde uyarı veren kontroller ekleyin.
- Zamanlama: Düzenli çalışma için zamanlanmış görevler.
Kendi sitenizi korumak
Siz de scraping'in hedefi olabilirsiniz. Hız sınırlama ve bot yönetimi, sunucunuzu aşırı yükten korur. Bkz. rate limiting.
Sık sorulan sorular
Kamuya açık veri toplamak her zaman serbest mi?
Hayır. Kamuya açık olması; kullanım koşulları, kişisel veri ve fikri mülkiyet kurallarını ortadan kaldırmaz.
Ekran otomasyonu (RPA) ile farkı nedir?
Scraping veriyi okumaya odaklanır; RPA ise ekranda bir kullanıcı gibi tıklayıp veri girerek iş yapar. Bkz. RPA nedir.
Sonuç
Web scraping, doğru kullanıldığında zaman kazandıran bir veri toplama yöntemidir. Önce resmî erişim yollarını aramak, hukuki sınırlara uymak ve karşı siteye saygılı davranmak; bu aracı sürdürülebilir kılar.