← Back to list

Web Kazıma Yolculuğu: Teknoloji, Hukuk ve Etik

İster konsepti merak eden bir acemi olun, ister becerilerinizi geliştirmek isteyen deneyimli bir programcı, bu kılavuzda herkes için…

Tarık Gülezgin · 2026-05-07 14:17 · 0 claps · 9.1 min read
#web-scraping #http-request #beautifulsoup #web #web-scrapers
Open on Medium ↗

Web Kazıma Yolculuğu: Teknoloji, Hukuk ve Etik

İster konsepti merak eden bir acemi olun, ister becerilerinizi geliştirmek isteyen deneyimli bir programcı, bu kılavuzda herkes için değerli bir şeyler var. Ek olarak, sorumlu web kazıma sağlamak için yasal yönleri, etik hususları ve en iyi uygulamaları ele alacağız.

Sorumluluk reddi: Bu materyal kesinlikle bilgilendirme amaçlı olarak geliştirilmiştir. Herhangi bir faaliyetin (yasadışı faaliyetler dahil), ürünün veya hizmetin onaylandığı anlamına gelmez. Hizmetlerimizi kullanırken veya buradaki herhangi bir bilgiye güvenirken fikri mülkiyet yasaları da dahil olmak üzere yürürlükteki yasalara uymaktan yalnızca siz sorumlusunuz. Yasaların açıkça gerektirdiği durumlar dışında, hizmetlerimizin veya burada yer alan bilgilerin herhangi bir şekilde kullanılmasından kaynaklanan zararlar için herhangi bir sorumluluk kabul etmiyorum.

İçindekiler.

  1. Web Kazıma Nedir ve Nasıl Çalışır?

  2. Web Kazıma Yasal mı?

  3. Web siteleri web kazımayı nasıl engellemeye çalışır?

  4. Web Kazıma için Etik ve En İyi Uygulamalar.

  5. Web Kazıma: Sıkça Sorulan Sorular (SSS)

  6. Sonuç.

1. Web Kazıma Nedir ve Nasıl Çalışır?

Web kazıma (web hasadı veya veri çıkarma olarak da bilinir), web sitelerinden, web hizmetlerinden ve web uygulamalarından otomatik olarak veri çıkarma işlemidir.

Web kazıma, bizi her web sitesine girip manuel olarak veri çekmek zorunda kalmaktan kurtarmaya yardımcı olur — bu uzun ve etkisiz bir süreçtir -. Süreç, otomatik komut dosyaları veya programların kullanılmasını içerir. Komut dosyası veya program web sayfasının HTML yapısına erişir, verileri ayrıştırır ve daha fazla analiz için sayfanın ihtiyaç duyulan belirli öğelerini çıkarır.

a. Web Kazıma Ne İçin Kullanılır?

Web kazıma, sorumlu bir şekilde yapılırsa harika bir yöntemdir. Genel olarak, belirli bir pazardaki eğilimler hakkında bilgi edinmek ve içgörü kazanmak gibi pazarları araştırmak için kullanılabilir. Ayrıca stratejilerini, fiyatlarını vb. takip etmek için rekabet izlemede de popülerdir.

Daha spesifik kullanım durumları şunlardır:

· Sosyal medya trend ve duygu analizi (X, Instagram, Reddit, TikTok, LinkedIn üzerindeki yorumlar, hashtag’ler, etkileşim oranları)

· Rakip firma fiyat ve kampanya takibi (e-ticaret sitelerindeki anlık indirimler, kuponlar, stok değişimleri)

· Ürün inceleme ve müşteri memnuniyeti analizi (puanlar, yorumlar, şikayet trendleri)

· SEO ve SERP analizi (arama motoru sıralamaları, featured snippet’ler, backlink fırsatları)

· Haber ve medya takibi (marka veya sektör hakkında çıkan haberlerin izlenmesi)

· Finansal veri toplama (hisse senedi, döviz, kripto para, şirket bilançoları)

· İş ilanı ve yetenek piyasası analizi (hangi teknolojilere talep var, maaş aralıkları, lokasyon bazlı ilan yoğunluğu),

· Akademik araştırma ve yayın toplama (makaleler, atıf sayıları, araştırma trendleri)

· Uçuş, otel ve seyahat fırsatlarının takibi. (fiyat karşılaştırma, müsaitlik kontrolü).

Gibi.

b. Web Kazıma nasıl çalışır?

Web kazıma işleminde yer alan tipik unsurlar başlatıcı ve hedeftir. Başlatıcı (web kazıyıcı) web sitelerini kazımak için otomatik veri çıkarma yazılımı kullanır. Hedefler ise genellikle web sitesinin içeriği, iletişim bilgileri, formlar veya web’de herkese açık olarak bulunan herhangi bir şeydir.

Tipik süreç aşağıdaki gibidir:

· ADIM 1: Başlatıcı, HTTP istekleri (web siteleriyle etkileşim kurmak ve veri almak için kullanılır) oluşturmaya başlamak için kazıma aracını — yazılımı (bulut tabanlı bir hizmet veya ev yapımı bir komut dosyası olabilir) kullanır. Bu yazılım, hedef web sitesine HTTP GET, POST, PUT, DELETE veya HEAD’den OPTIONS isteğine kadar her şeyi başlatabilir.

· ADIM 2. Sayfa mevcutsa, hedef web sitesi kazıyıcının isteğine HTTP/1.0 200 OK (ziyaretçilere verilen tipik yanıt) ile yanıt verecektir. Kazıyıcı HTML yanıtını aldığında (örneğin 200 OK), belgeyi ayrıştırmaya ve yapılandırılmamış verilerini toplamaya devam edecektir.

· ADIM 3. Kazıyıcı yazılım daha sonra ham verileri çıkarır, depolar ve başlatıcı tarafından belirtilen şekilde verilere yapı (indeksler) ekler. Yapılandırılmış verilere XLS, CSV, SQL, XML veya JSON gibi okunabilir formatlar aracılığıyla erişilebilir.

Web kazıma için en iyi programlama dilleri hangileridir?

Kazıma için en popüler programlama dili, kütüphaneleri ve paketleri nedeniyle Python’dır.

(BU KONUDA DAHA FAZLA BİLGİ VE GERÇEK ZAMANLI UYGULAMA KOD BLOKLARI BİR SONRAKİ MAKALEDE YER ALACAKTIR .)

Bir başka popüler programlama dili R çünkü bu aynı zamanda harika bir desteklenen kütüphane ve çerçeve setine sahiptir.

Ayrıca, birçok web kazıyıcının kullandığı popüler bir programlama dili olan C#’den de bahsetmek gerekir.

2. Web Kazıma Yasal mı?

Web kazıma genellikle tartışmalı veya yasadışı olarak algılanır. Ancak gerçekte, belirli etik ve yasal sınırlara uyulduğu takdirde web kazıma tamamen yasal olan meşru bir uygulamadır.

Web kazımanın yasallığı, çıkarılan verilerin niteliğine ve kullanılan yöntemlere bağlıdır. Web kazıma, internetten kamuya açık bilgileri toplamak için kullanıldığında yasal kabul edilir. Bununla birlikte, özellikle kişisel veriler veya telif hakkıyla korunan içerikle uğraşırken her zaman dikkatli olunması gerekir.

İşte akılda tutulması gereken birkaç ipucu:

· Özel verileri kazımayın. Kamuya açık olmayan verileri çıkarmak da yasalara aykırıdır. Kullanıcı ve parola girişi olan bir giriş sayfasının arkasındaki verileri kazımak Avrupa’nın çoğunda yasalara aykırıdır.

· Verilerle ne yaptığınız başınızı belaya sokabilir. Etik web kazıma, toplanan verilere ve bunların kullanım amaçlarına dikkat edilmesini gerektirir. Kişisel verilere ve fikri mülkiyete özel önem verilmelidir. Örneğin, içeriği yeniden kullanmak veya yeniden satmak ya da telif hakkıyla korunan materyalleri indirmek yasa dışıdır.

· Web sitelerindeki Hizmet Şartlarını gözden geçirmek de önemlidir. Bunlar, hizmetlerini veya içeriklerini kullanan kişileri kaynaklarla nasıl etkileşime girmeleri ve girmemeleri gerektiği konusunda yönlendiren belgelerdir.

· Her zaman resmi olarak sağlanan API’leri tercih edin. Her zaman mümkün olan durumlarda, doğrudan web kazıma yapmak yerine resmi olarak sunulan API’leri kullanmayı değerlendirin. Bazı web siteleri — özellikle devlet kurumları, hava durumu servisleri ve sosyal medya platformları — verilerinin bir kısmını API’ler aracılığıyla herkese açık hale getirir. Bu yöntem hem daha güvenilir hem de genellikle daha hızlı ve yasal açıdan daha güvenlidir.

· Robots.txt dosyasını kontrol edin. Bu dosya, web sunucusunda bulunur ve web tarayıcıları ile kazıyıcılara sitenin hangi bölümlerine erişilebileceği veya kaçınılması gerektiği konusunda yol gösterir. Ayrıca, istek sıklığı (rate limit) gibi önemli kurallar hakkında da bilgi sağlayabilir.

· Web kazıma saldırıları başlatmaktan kaçının. Bağlama bağlı olarak, bazen web kazıma, kazıma saldırısı olarak adlandırılır. Spam gönderenler botnet (bot orduları) kullanarak büyük ve hızlı taleplerle bir web sitesini hedef aldığında, tüm web sitesinin hizmeti başarısız olabilir. Büyük ölçekli veri kazıma saldırıları tüm siteleri çökertebilir.

3. Web Siteleri Web Kazımayı Nasıl Engellemeye Çalışır?

Şirketler, verilerinin bir kısmının insan ziyaretçiler tarafından erişilebilir olmasını ister. Ancak şirketler veya kullanıcılar siteden agresif bir şekilde veri çekmek için otomatik komut dosyaları veya botlar kullandığında, hedef web sunucusu ve sayfasında çok fazla gizlilik ve kaynak kötüye kullanımı olabilir. Bu mağdur siteler bu tür trafiği caydırmayı tercih eder.

Kazıma Önleme Teknikleri.

· Tek bir kaynaktan gelen olağandışı ve yüksek miktarda trafik. Web sunucuları, trafiği engellemek için gürültülü IP adreslerinin kara listelerini içeren WAF’lar (Web Uygulaması Güvenlik Duvarları), “olağandışı” istek oranları ve boyutlarına ilişkin filtreler ve filtreleme mekanizmaları kullanabilir. Bazı siteler, bu tür IP’lerden gelen gürültüyü tamamen filtrelemek veya azaltmak için WAF ve CDN (İçerik Dağıtım Ağları) kombinasyonunu kullanır.

· Bazı web siteleri bot benzeri tarama modellerini tespit edebilir. Önceki tekniğe benzer şekilde, web siteleri de User-Agent’a (HTTP başlığı) dayalı istekleri engeller. Botlar normal bir tarayıcı kullanmazlar. Bu botlar farklı kullanıcı aracısı dizelerine (yani, crawler, spider veya bot), çeşitlilik eksikliğine, başlıkların yokluğuna, talep oranları ve daha fazlasına takılabilir.

· Web siteleri de HTML biçimlendirmelerini sık sık değiştirir. Web kazıma botları bir web sitesinin içeriğinde gezinirken tutarlı bir “HTML işaretleme” rotası izler. Bazı web siteleri işaretlemedeki HTML öğelerini düzenli olarak ve rastgele değiştirir. Bu teknik, bir botu düzenli kazıma alışkanlığından veya programından saptırır. HTML işaretlemesini değiştirmek web kazımayı durdurmaz ancak çok daha zor hale getirir.

· CAPTCHA gibi zorlukların kullanılması. Başlıksız tarayıcı kullanan botlardan kaçınmak için, bazı web siteleri CAPTCHA zorlukları gerektirir. Başlıksız tarayıcı kullanan botlar bu tür zorlukları çözmekte zorlanırlar. CAPTCHA’lar robotlar tarafından değil, kullanıcı düzeyinde (tarayıcı aracılığıyla) çözülmek üzere yapılmıştır.

· Bazı siteler kazıma botları için tuzaklardır (bal küpleri). Bazı web siteleri yalnızca kazıma botlarını tuzağa düşürmek için oluşturulur — bu, honeypot olarak adlandırılan bir tekniktir. Bu bal noktaları yalnızca kazıma botları tarafından görülebilir (sıradan insan ziyaretçiler tarafından değil) ve web kazıyıcılarını bir tuzağa yönlendirmek için inşa edilmiştir.

4. Web Kazıma için Etik ve En İyi Uygulamalar.

Web kazıma sorumlu ve etik bir şekilde gerçekleştirilmelidir.

Daha önce de vurgulandığı gibi, bir sitenin Şartlar ve Koşullarını (ToS) incelemek, uymanız gereken kurallar hakkında size yol gösterir. Ayrıca bir web sitesinin botlara yönelik politikalarını anlamak için ROBOTS.txt dosyasını kontrol etmek faydalıdır.

Web kazımaya tamamen izin verilmiyorsa veya engellenmişse, sitenin sunduğu API’lerini kullanın (mevcutsa).

Bunun yanında, hedef sunucuyu aşırı isteklerle zorlamamak için bant genişliğini dikkate almak önemlidir. İsteklerin belirli aralıklarla ve uygun zaman aşımlarıyla gönderilmesi, sistemi yormamak açısından gereklidir. Gerçek bir kullanıcı davranışını taklit eden bir yaklaşım benimsemek en sağlıklısıdır. Ayrıca, giriş (login) gerektiren sayfaların arkasındaki verileri kazımaktan kaçınılmalıdır.

Kurallara uyarsanız, sorun yaşamazsınız.

Web Kazıma En İyi Uygulamaları.

· Bir Proxy kullanın. Proxy, isteklerinizi hedef sunucuya ileten bir aracı görevi görür. Web kazıma sırasında isteklerinizi proxy üzerinden yönlendirdiğinizde, hedef site isteği sizin IP’niz yerine proxy’nin IP’sinden gelmiş gibi algılar. Proxy kullanmanın bazı avantajları şunlardır:

o IP’nizin kara listeye alınması veya engellenmesi olasılığını ortadan kaldırın. Her zaman çeşitli vekiller aracılığıyla talepte bulunun. Farklı proxy’ler (örneğin IPv6 proxy’leri) kullanarak ve bir proxy havuzu oluşturarak daha yüksek hacimli istekleri daha güvenli şekilde gerçekleştirebilirsiniz.

o Coğrafi olarak uyarlanmış içeriği atlayın. Belirli bir bölgeye ait proxy kullanarak, o bölgeye özel içeriklere erişebilir ve veri toplayabilirsiniz.

o Dönen Vekiller. Dönen Proxy’ler her yeni bağlantı için havuzdan yeni bir IP alır (döndürür). Unutmayın ki VPN’ler proxy değildir. Çok benzer bir şey yapmalarına rağmen, yani anonimlik sağlamalarına rağmen, farklı seviyelerde çalışırlar.

· Döndür UA (Kullanıcı Aracıları) ve HTTP İstek Başlıkları. UA’ları ve HTTP başlıklarını döndürmek için gerçek web tarayıcılarından UA dizelerinin bir listesini toplamanız gerekir. Listeyi Python’daki web kazıma kodunuza koyun ve istekleri rastgele dizeler seçecek şekilde ayarlayın.

· Sınırları zorlama. Talep sayısını yavaşlatın, döndürün ve rastgele hale getirin. Bir web sitesi için çok sayıda talepte bulunuyorsanız, işleri rastgele hale getirerek başlayın. Her isteğin rastgele ve insan gibi görünmesini sağlayın. İlk olarak, dönen proxy’ler yardımıyla her isteğin IP’sini değiştirin. Ayrıca, isteklerin başka tarayıcılardan geliyormuş gibi görünmesini sağlamak için farklı HTTP başlıkları kullanın.

5. Web Kazıma SSS: Sıkça Sorulan Sorular.

a. Robots.txt nedir ve web kazımadaki rolü oynar?

Robots.txt dosyası, web sitesi sahipleri ile web tarayıcıları ve “kazıyıcılar” arasında bir iletişim aracı görevi görür. Sunucuda bulunan bu metin dosyası, botlara sitenin hangi bölümlerine erişilebileceğini ve hangi alanlardan uzak durulması gerektiğini bildirir. Googlebot gibi “uyumlu” tarayıcılar bu dosyayı otomatik olarak dikkate alır. Kazıyıcılar için zorunlu olmasa da, etik bir yaklaşım için robots.txt kurallarını bilmek ve bunlara saygı göstermek oldukça önemlidir.

b. Web sitesi yöneticileri istenmeyen kazımayı nasıl engeller?

Tüm kazıyıcılar etik davranmaz veya site kurallarına uymaz. Bu nedenle web yöneticileri, verilerini korumak için çeşitli önlemler alır. Bunlar arasında IP engelleme, CAPTCHA kullanımı, hız sınırlama, kullanıcı aracısı doğrulama, oturum takibi, token tabanlı kimlik doğrulama ve CDN kullanımı yer alır. Ayrıca davranış analizi yapan sistemlerle şüpheli bot aktiviteleri de tespit edilebilir.

c. Web Kazıma vs. Web Tarama arasındaki fark nedir?

Her iki yöntem de web’den veri elde etmeyi amaçlasa da farklıdır. Web kazıma, belirli sitelerden hedefli veri çekmeye odaklanır ve kapsamı daha dardır. Genellikle scriptler veya araçlar kullanılarak veri çekilir ve yapılandırılır. Web tarama ise daha geniş kapsamlıdır; interneti sistematik şekilde dolaşarak sayfaları keşfeder, indeksler ve veri tabanlarında saklar. Arama motorları bu yöntemi yaygın olarak kullanır ve genellikle robots.txt kurallarını dikkate alır.

d. Veri madenciliği vs Veri kazıma: Farkları ve benzerlikleri nelerdir?

İki kavram da veri elde etmeyi içerir ancak amaçları farklıdır. Veri madenciliği, yapılandırılmış veri setlerini analiz ederek anlamlı desenler ve içgörüler bulmaya odaklanır. Veri kazıma ise web sitelerinden veri toplama sürecidir. Çoğu zaman birlikte kullanılırlar; kazıma ile toplanan veriler daha sonra veri madenciliği yöntemleriyle analiz edilir.

e. Ekran Kazıma Nedir? Ve Veri Kazıma ile nasıl ilişkilidir?

Ekran kazıma, ekranda görünen verileri (metin dahil) otomatik olarak yakalayıp çıkarmayı hedefler. Web kazıma ise doğrudan HTML yapısını ayrıştırarak veri elde eder. Yani ekran kazıma görsel veriye odaklanırken, web kazıma sayfa kodundan veri çıkarır.

f. Web Hasadı, Web Kazıma ile aynı şey midir?

Bu iki kavram çoğu zaman benzer şekilde kullanılsa da tam olarak aynı değildir. Web hasadı daha geniş bir terimdir ve web’den veri elde etmenin farklı yöntemlerini kapsar. Web kazıma ise bu yöntemlerden biridir. Ayrıca web hasadı, özellikle API’ler üzerinden veri çekme durumlarını da içerebilir.

g. CSS Seçici vs XPath Seçici: Kazıma yaparken farklar nelerdir?

CSS seçicileri, web kazıma sırasında veri ayıklamak için etkili bir yoldur. Basit bir sözdizimi sunarlar ve çoğu kazıma senaryosunda iyi çalışırlar. Ancak, daha karmaşık durumlarda veya iç içe geçmiş yapılarla uğraşırken, XPath seçicileri ek esneklik ve işlevsellik sağlayabilir.

h. Selenium ile dinamik web siteleri nasıl işlenir?

Selenium, dinamik web sitelerini kazımak için güçlü bir araçtır. Web sayfasındaki öğelerle bir kullanıcının yapacağı gibi etkileşime girmenizi sağlar. Bu yetenek, “betiğinizin” dinamik olarak oluşturulan içerikte gezinmesini sağlar. WebDriver’ı ile sayfa öğelerinin yüklenmesini bekleyebilir, AJAX öğeleriyle etkileşime girebilir ve JavaScript’e büyük ölçüde güvenen web sitelerinden veri kazıyabilirsiniz.

i. Web Kazıma yaparken AJAX ve JavaScript ile nasıl başa çıkılır?

Web kazıma sırasında AJAX ve JavaScript ile uğraşırken, Requests ve Beautiful Soup gibi geleneksel kütüphaneler yeterli olmayabilir. AJAX isteklerini ve JavaScript ile oluşturulmuş içeriği işlemek için Selenium gibi araçları kullanabilirsiniz.

6. Sonuç

Tebrikler! Web kazıma üzerine hazırlanan bu öğretici rehberi başarıyla tamamladınız.

Bu rehberin, projelerinizde web kazımanın sunduğu olanaklardan yararlanabilmeniz için size gerekli bilgi ve araçları kazandırmış olmasını umuyorum. Unutmayın, büyük güç beraberinde büyük sorumluluk getirir. Web kazıma sürecine başlarken etik kurallara öncelik vermeli, web sitelerinin hizmet şartlarına saygı göstermeli ve veri gizliliğini her zaman gözetmelisiniz.

Burada ele aldıklarımız, konunun yalnızca görünen kısmıdır. Web kazıma oldukça geniş ve derin bir alandır. Sürekli öğrenmeye açık olmak ve güncel teknolojiler ile yasal gelişmeleri takip etmek, bu alanda ilerlemenize yardımcı olacaktır.

CSS ve XPath seçicileri kullanarak bir HTML sayfasındaki verileri görsel olarak inceleyip manuel şekilde ayıklamak hem zaman alıcıdır hem de hatalara açıktır. Ayrıca bu yöntem, büyük ölçekli veri toplama ya da tekrarlayan kazıma işlemleri için yeterince verimli değildir. Bu noktada komut dosyaları yazmak ve programlama tekniklerinden yararlanmak çok daha etkili bir çözüm sunar.

Web kazıma dünyası sürekli gelişiyor. Güncel kalın, öğrenmeye devam edin ve veriyi sorumlu şekilde kullanın.

Web kazıma yalnızca teorik bir kavram değil, gerçek dünyada da güçlü uygulamalara sahip. Daha fazla örnek görmek için GitHub reposunu ziyaret edebilirsiniz:

👉 Web-Scraper-Collection.


메타데이터
post_id
ff44b13c5eee
slug
web-kazıma-yolculuğu-teknoloji-hukuk-ve-etik-ff44b13c5eee
url
https://medium.com/@gulezgin/web-kaz%C4%B1ma-yolculu%C4%9Fu-teknoloji-hukuk-ve-etik-ff44b13c5eee
canonical_url
https://medium.com/@gulezgin/web-kaz%C4%B1ma-yolculu%C4%9Fu-teknoloji-hukuk-ve-etik-ff44b13c5eee
author_url
https://medium.com/@gulezgin
status
ok
fetched_at
2026-06-09 15:37:30