Web scraping, web sayfalarındaki veriyi bir yazılımın sayfayı indirip içinden gereken alanları ayıklamasıyla otomatik olarak toplama işidir. Bu rehberde nasıl çalıştığını, API ile farkını, kullanılan araçları ve robots.txt, KVKK ile veri tabanı yapımcısı hakkı açısından sınırlarını anlatıyoruz.
Yasal bilgiler mevzuat.gov.tr'deki Kanun metinlerinden, robots.txt bilgisi RFC 9309'dan alındı; okuma tarihi 2026-11-14. Bu yazı genel bilgidir, hukuki görüş değildir; somut bir iş için hukuk danışmanınıza başvurun.
Web scraping nedir?
Türkçede "veri kazıma" ya da "web'den veri çekme" diye de geçen web scraping, bir insanın tarayıcıda görüp elle kopyalayacağı bilgiyi yazılıma topluca topladırmaktır. Bir e-ticaret sitesinin kendi ürünlerinin rakip sitelerdeki fiyatını izlemesi, bir araştırmacının herkese açık istatistik tablolarını derlemesi ya da bir ilan sitesindeki ilan sayısının izlenmesi tipik örneklerdir.
Teknik olarak süreç üç adımdır: sayfa indirilir, HTML içinden gereken alanlar seçicilerle ayıklanır, sonuç bir tabloya ya da veri tabanına yazılır. Sayfa içeriği JavaScript ile sonradan yükleniyorsa, sayfayı gerçek bir tarayıcı gibi çalıştıran araçlar gerekir.
Web scraping ile API arasındaki fark
API, bir sitenin veriyi başka yazılımlara sunmak için açtığı resmi kapıdır; veri yapılandırılmış gelir ve sürümlenir. Web scraping ise insan için hazırlanmış sayfanın içinden veri ayıklar; sayfa tasarımı değiştiğinde toplayıcı bozulabilir. Bu yüzden bir site resmi API sunuyorsa önce o kullanılmalıdır. API'nin genel mantığını API nedir yazımızda anlattık.
Web scraping mi, API mi?
Genel karşılaştırma; her sitenin sunduğu yol farklıdır.
| Ölçüt | Resmi API | Web scraping |
|---|---|---|
| Veri biçimi | Yapılandırılmış (çoğu zaman JSON) | HTML içinden ayıklanır |
| Dayanıklılık | Sürümlü, belgeli | Sayfa tasarımı değişince bozulabilir |
| Kurallar | Sağlayıcının API koşulları | Kullanım koşulları, robots.txt ve mevzuat |
| Ne zaman? | Varsa her zaman önce | API yoksa ve kurallar izin veriyorsa |
Tablo bizim genel değerlendirmemizdir.
Web scraping için kullanılan araçlar
Web scraping için tek bir doğru araç yoktur; seçim sayfanın yapısına göre yapılır. Aşağıdakiler yaygın açık kaynak araç türleridir; sıralama ya da öneri değildir.
- HTTP istemcisi ve HTML ayrıştırıcı: Statik sayfalar için Python'da Requests ile Beautiful Soup gibi kütüphaneler.
- Tarama çerçevesi: Çok sayfalı ve düzenli işler için Scrapy gibi çerçeveler; istek sırası, hız sınırı ve dışa aktarma hazır gelir.
- Tarayıcı otomasyonu: JavaScript ile yüklenen sayfalar için Playwright ya da Selenium gibi araçlar.
- Akış araçları: Küçük işler için n8n gibi iş akışı araçlarının HTTP ve HTML düğümleri.
Web scraping nasıl yapılır? 5 adım
Adımlar genel bir sıradır; her adımdan önce kuralları kontrol edin.
Resmi yolu arayın
Sitenin API'si, veri dosyası ya da iş ortaklığı akışı varsa onu kullanın.
Kuralları okuyun
Kullanım koşullarını ve robots.txt dosyasını inceleyin; otomatik erişimi yasaklayan sitede durun.
Sayfa yapısını çözümleyin
Gereken alanların HTML'de nerede durduğunu, sayfanın JavaScript ile mi yüklendiğini belirleyin.
Kibar bir toplayıcı yazın
İstek sıklığını sınırlayın, yalnızca gereken sayfaları ziyaret edin, kendinizi tanıtan bir istemci adı kullanın.
Veriyi doğrulayıp saklayın
Ayıklanan veriyi kontrol edin; kişisel veri varsa toplamayın ya da KVKK şartlarını hukukçunuzla netleştirin.
Web scraping yasal mı?
Web scraping tek başına ne yasaldır ne yasaktır; neyin, hangi siteden, hangi amaçla ve nasıl toplandığına bağlıdır. Türkiye açısından öne çıkan çerçeve şunlardır:
Kişisel veri: 6698 sayılı KVKK'nın 4. maddesi kişisel verilerin hukuka ve dürüstlük kurallarına uygun, belirli, açık ve meşru amaçlar için, amaçla bağlantılı, sınırlı ve ölçülü işlenmesini ister. 5. maddeye göre kişisel veri kural olarak açık rıza olmadan işlenemez; açık rıza aranmayan hâller ise maddede sayılmıştır. Bir bilginin herkese açık bir sayfada görünmesi, her amaçla toplanabileceği anlamına gelmez.
Veri tabanı hakkı: 5846 sayılı Fikir ve Sanat Eserleri Kanunu'nun Ek 8. maddesine göre veri tabanının içeriğinin oluşturulmasına, doğrulanmasına ya da sunumuna esaslı bir yatırım yapan yapımcı, içeriğin önemli bir kısmının ya da tamamının başka bir ortama aktarılmasına ve dağıtılmasına izin verme ya da yasaklama hakkına sahiptir.
robots.txt: RFC 9309, robots.txt kurallarının tarayıcıların uyması istenen kurallar olduğunu ve bir erişim yetkilendirmesi olmadığını belirtir. Yani robots.txt'nin izin vermesi, toplama işinin hukuken serbest olduğu anlamına gelmez; yasaklaması ise açık bir "istenmiyor" işaretidir.
Web scraping öncesi kontrol listesi
Bir veri toplama işine başlamadan önce bu soruları cevaplayın.
- Resmi API ya da veri dosyası yok
- Kullanım koşulları otomatik erişimi yasaklamıyor
- robots.txt kuralları kontrol edildi
- Toplanacak veride kişisel veri yok
- Veri tabanının önemli bir kısmı kopyalanmıyor
- İstek sıklığı siteyi yormayacak düzeyde
- Giriş, CAPTCHA ya da teknik engel aşılmıyor
Web scraping yaparken sık yapılan hatalar
- API'yi aramamak: Resmi yol varken sayfa kazımak hem kırılgan hem risklidir.
- Kişisel veri toplamak: Ad, telefon ya da e-posta toplamak KVKK şartlarını doğurur.
- Siteyi yormak: Saniyede çok sayıda istek, hedef sitenin çalışmasını etkileyebilir.
- Engelleri aşmak: Giriş, CAPTCHA ya da teknik engelleri aşmaya çalışmak kuralların açıkça dışına çıkmaktır.
- Bozulmayı izlememek: Sayfa tasarımı değiştiğinde toplayıcı sessizce yanlış veri üretebilir.
Duman Dijital önerimiz: Veri ihtiyacınızı önce resmi API ya da veri ortaklığıyla karşılamayı deneyin; web scraping gerekiyorsa kişisel veri içermeyen, site kurallarınca yasaklanmamış, düşük hızlı ve dar kapsamlı bir toplama ile başlayın. Gerekçemiz: KVKK amaçla sınırlı ve ölçülü işlemeyi, FSEK veri tabanının önemli kısmının aktarılmasında yapımcıya söz hakkını, RFC 9309 ise robots.txt'nin bir yetki değil bir istek olduğunu açıkça yazıyor.
Fiyat takibi, stok kontrolü ve raporlama için kurallara uygun veri toplama ve otomasyon sistemleri kuruyoruz. Hangi işleri kabul etmediğimizi de açıkça yazdığımız yaklaşımımızı otomasyon ve bot yazılımı sayfamızdaki web scraping hizmeti bölümünde anlattık. Toplanan veriyi kendi panelinizde görmek için özel yazılım geliştirme sayfamıza bakabilirsiniz.
Kaynaklar
- IETF: RFC 9309, Robots Exclusion Protocol (okundu 2026-11-14).
- Mevzuat Bilgi Sistemi: 6698 sayılı Kişisel Verilerin Korunması Kanunu (md. 4, 5), 5846 sayılı Fikir ve Sanat Eserleri Kanunu (Ek md. 8) (okundu 2026-11-14).
Sıkça sorulan sorular
Web scraping nedir?
Web sayfalarındaki veriyi bir yazılımın sayfayı indirip içinden gereken alanları ayıklamasıyla otomatik toplamasıdır.
Web scraping yasal mı?
Neyin, hangi siteden ve hangi amaçla toplandığına bağlıdır. Kişisel veri KVKK'ya, veri tabanının önemli kısmının aktarılması FSEK Ek 8. maddeye takılabilir. Somut durum için hukuk danışmanınıza başvurun.
robots.txt izin veriyorsa scraping serbest mi?
Hayır. RFC 9309'a göre robots.txt kuralları bir erişim yetkilendirmesi değildir; kullanım koşulları ve mevzuat ayrıca geçerlidir.
Web scraping için hangi dil kullanılır?
Python yaygın tercihtir; Requests, Beautiful Soup ve Scrapy gibi kütüphaneler bulunur. JavaScript ile yüklenen sayfalar için Playwright gibi tarayıcı otomasyon araçları kullanılır.
Web scraping ile API arasındaki fark nedir?
API, sitenin veriyi resmi ve yapılandırılmış olarak sunduğu kapıdır. Web scraping ise insan için hazırlanmış sayfadan veri ayıklar ve sayfa değiştiğinde bozulabilir.
Herkese açık veriyi toplamak serbest mi?
Her zaman değil. KVKK, kişisel verinin belirli ve meşru amaçla, ölçülü işlenmesini ister; bir bilginin herkese açık olması her amaçla toplanabileceği anlamına gelmez.
İlgili hizmetler
Otomasyon ve Bot Yazılımı: İş Akışı Otomasyonu ve WhatsApp Botu
Otomasyon ile ekibinizin her gün tekrarladığı ekran işlerini, sistemler arası veri taşımayı ve raporlamayı yazılıma devrediyoruz. Önce API ile, gerekmedikçe bot ile değil.
İnceleyinÖzel Yazılım Geliştirme
Özel yazılım geliştirme ile işinizin akışına göre web uygulamaları, yönetim panelleri ve API'ler kuruyoruz. Hazır bir paketin sizi zorladığı yerde sürecinizi araca değil, aracı sürecinize uyduruyoruz.
İnceleyin