Bu makalede: 2025'te proxy sunucularının neden web kazıma (web scraping) için zorunlu bir araç haline geldiğini, modern anti-bot sistemlerinin (Cloudflare, DataDome) nasıl çalıştığını, veri kazıma için hangi proxy türlerinin daha uygun olduğunu ve proxy'leri görevleriniz için doğru bir şekilde nasıl seçeceğinizi öğreneceksiniz. Materyal güncel verilere ve pratik deneyime dayanmaktadır.
📑 Bölüm 1 İçindekiler
🎯 Veri Kazıma İçin Proxy'ler Neden Gereklidir?
Web kazıma (Web scraping), web sitelerinden otomatik veri toplama işlemidir. 2025'te bu, fiyat rekabeti takibi, makine öğrenimi için veri setleri toplama, içerik toplama ve pazar analizi gibi işler için kritik bir teknolojidir. Ancak modern web siteleri botlara karşı aktif olarak korunmaktadır ve proxy olmadan etkili kazıma neredeyse imkansızdır.
Proxy Kullanımının Temel Nedenleri
🚫 IP Tabanlı Engellemeleri Aşma
Web siteleri, her IP adresinden gelen istek sayısını izler. Dakikada belirli bir limiti (genellikle 10-100 istek) aştığınızda engellenirsiniz. Proxy'ler, istekleri çok sayıda IP adresi arasında dağıtarak görünmez olmanızı sağlar.
🌍 Coğrafi Konum Erişimi
Birçok site, kullanıcının ülkesine göre farklı içerik gösterir. Küresel verileri kazımak için farklı ülkelerden proxy'lere ihtiyacınız vardır. Örneğin, ABD Amazon fiyatlarını izlemek için Amerikan IP'leri gerekir.
⚡ Paralel İşleme
Proxy havuzu olmadan tek bir IP ile sınırlısınız ve istekleriniz sıralı olur. Proxy havuzu ile yüzlerce paralel istek atabilir, kazıma hızını 10-100 kat artırabilirsiniz. Büyük veri hacimleri için kritiktir.
🔒 Anonimlik ve Güvenlik
Proxy'ler gerçek IP adresinizi gizleyerek yeniden hedeflemeden, izlenmeden ve potansiyel yasal risklerden korur. Özellikle hassas verileri veya rakip istihbaratını kazırken önemlidir.
⚠️ Proxy Olmadan Ne Olur?
- Anında Ban — IP adresiniz 50-100 istekten sonra engellenir
- Her Adımda CAPTCHA — manuel olarak CAPTCHA çözmek zorunda kalırsınız
- Eksik Veri — yalnızca sınırlı bir veri örneği alırsınız
- Düşük Hız — bir IP = sıralı istekler
- Bot Tespiti — modern siteler otomasyonu anında algılar
🌐 2025'te Web Kazıma Ortamı
Web kazıma sektörü 2025'te benzeri görülmemiş bir değişimden geçiyor. Bir yandan, AI modelleri eğitim veri setlerine ihtiyaç duyarken ve işletmeler gerçek zamanlı analitik isterken veri talebi katlanarak artıyor. Öte yandan, koruma sistemleri giderek daha karmaşık hale geliyor.
2025'in Ana Trendleri
1. Yapay Zeka Destekli Anti-Bot Sistemleri
Makine öğrenimi artık fare hareketleri, kaydırma hızı, tıklamalar arasındaki zaman gibi davranışsal kalıpları analiz ediyor. DataDome gibi sistemler, botları %99.99 doğrulukla 2 milisaniyeden kısa sürede tespit ediyor.
- İstemci tarafı ve sunucu tarafı sinyal analizi
- Davranışsal parmak izi (Behavioral fingerprinting)
- %0.01'in altında yanlış pozitif oranı
2. Çok Katmanlı Koruma
Siteler artık tek bir teknolojiye güvenmiyor. Cloudflare Bot Management, JS zorluklarını, TLS parmak izini, IP itibar veritabanlarını ve davranışsal analizi birleştiriyor. Tüm katmanları aynı anda aşmak zorlu bir görev.
3. Hız Sınırlaması Standart Hale Geldi
Neredeyse her büyük site, istek sıklığını sınırlayan (rate limiting) bir mekanizma kullanıyor. Tipik limitler: genel sayfalar için saniyede 1-5 istek, genel API'ler için dakikada 10-100 istek. Eşik aşıldığında CAPTCHA zorunluluğu getirilir.
Piyasa İstatistikleri
| Gösterge | 2023 | 2025 | Değişim |
|---|---|---|---|
| Anti-Bot Korumalı Site Sayısı | 43% | 78% | +35% |
| Proxy'siz Başarı Oranı | 25% | 8% | -17% |
| Ortalama Hız Limiti (istek/dk) | 150 | 60 | -60% |
| Kaliteli Proxy Fiyatı | $5-12/GB | $1.5-4/GB | -50% |
🛡️ Modern Anti-Bot Sistemleri
Kazımada başarılı olmak için anti-bot sistemlerinin nasıl çalıştığını anlamak kritik öneme sahiptir. 2025'te korumalar, basit IP engellemelerinden makine öğrenimine dayalı karmaşık çok katmanlı sistemlere geçiş yaptı.
Bot Tespit Yöntemleri
IP İtibarı (IP Reputation)
Bilinen proxy IP'lerinin veritabanları (veri merkezi IP'leri kolayca tespit edilir). IP'ler ASN'ye (Otonom Sistem Numarası), kötüye kullanım geçmişine ve türe (konut/veri merkezi) göre sınıflandırılır.
TLS/HTTP Parmak İzleri
TLS el sıkışmasının (JA3 fingerprint) analizi, HTTP başlıklarının sırası, protokol sürümleri. Botlar genellikle kendine özgü kalıplara sahip standart kütüphaneler kullanır.
JavaScript Zorlukları (JS Challenges)
Tarayıcıda karmaşık JS hesaplamalarının yürütülmesi. Basit HTTP istemcileri (requests, curl) JS'yi yürütemez. Headless tarayıcılar (Puppeteer, Selenium) gereklidir.
Davranışsal Analiz
Fare hareketlerinin, metin yazma hızının, kaydırma (scrolling) modellerinin izlenmesi. AI modelleri, milyonlarca gerçek kullanıcı ve bot oturumu üzerinde eğitilmiştir.
Bloklama Seviyeleri
1. Yumuşak Kısıtlamalar
- CAPTCHA çağrıları
- Yanıtların yavaşlatılması
- Verilerin bir kısmının gizlenmesi
2. Orta Düzey Bloklamalar
- HTTP 403 Forbidden
- HTTP 429 Too Many Requests
- IP'nin geçici olarak engellenmesi (1-24 saat)
3. Sert Banlar
- IP'nin kalıcı olarak engellenmesi
- Tüm alt ağın (C-class) yasaklanması
- Genel kara listelere eklenme
☁️ Cloudflare, DataDome ve Diğer Korumalar
En İyi Anti-Bot Platformları
Cloudflare Bot Management
İnternet sitelerinin %20'sinden fazlasında kullanılan en popüler koruma: Birçok tekniği birleştirir:
- JS Challenge — Cloudflare Turnstile (reCAPTCHA'nın alternatifi)
- TLS Parmak İzleme — JA3/JA4 parmak izleri
- IP İstihbaratı — Milyonlarca bilinen proxy'den oluşan veritabanı
- Davranışsal puanlama — kaydırma/fare/zamanlama analizi
- Hız sınırlaması — davranışa dayalı uyarlanabilir limitler
Aşma Yöntemi: Kaliteli konut/mobil proxy'ler + doğru parmak izlerine sahip headless tarayıcı + insan benzeri davranış gereklidir.
DataDome
Yapay Zeka Destekli Koruma, makine öğrenimine odaklanmıştır. Karar verme süresi 2 ms'den azdır ve doğruluk %99.99'dur.
- ML Modelleri — petabaytlarca veri üzerinde eğitildi
- İstemci + Sunucu Sinyalleri — çift yönlü analiz
- IP ASN Analizi — ASN'ye göre itibar değerlendirmesi
- İstek Sıklığı (Request Cadence) — istek sıklığı ve modellerinin analizi
- Başlık Entropisi — başlıklardaki anormalliklerin tespiti
Yanlış Pozitif Oranı: %0.01'in altında — sistem çok doğru ama proxy'lere karşı agresif.
PerimeterX (HUMAN)
Biyometriye dayalı davranışsal analiz. Faredeki mikro hareketleri, dokunmatik ekran basıncını, navigasyon modellerini izler.
Imperva (Incapsula)
Kurumsal düzeyde koruma. Finans ve devlet sitelerinde kullanılır. Premium konut proxy'leri olmadan aşılması çok zordur.
⏱️ Hız Sınırlaması (Rate Limiting) ve Desen Tespiti
Hız sınırlaması (Rate limiting), belirli bir zaman diliminde tek bir kaynaktan gelen istek sayısını kısıtlamaktır. Proxy kullanırken bile, istek sıklığını doğru yönetmezseniz deseniniz tanınabilir.
Hız Sınırlaması Türleri
1. Sabit Pencere (Fixed Window)
Sabit bir zaman aralığı için sabit limit. Örneğin: Dakikada 100 istek. Saat 10:00:00'da sayaç sıfırlanır.
10:00-10:01 Penceresi: maksimum 100 istek
10:01-10:02 Penceresi: sayaç sıfırlanır
2. Kayar Pencere (Sliding Window)
Geçerli andan itibaren son N saniyedeki istekleri dikkate alır. Daha adil ve doğru bir yöntemdir.
3. Token Kovası (Token Bucket)
"Token kovası" (örneğin 100 adet) vardır. Her istek bir token harcar. Token'lar saniyede X hızında yenilenir. Kısa süreli aktivite patlamalarına izin verir.
🎯 Hız Sınırlamasını Aşma Stratejileri
- Proxy Rotasyonu — her IP'nin kendi limiti vardır, havuzu kullanırız
- Gecikme Ekleme — insan davranışını taklit etme (0.5-3 saniye arası istekler arası)
- Aralıkların Rastgeleleştirilmesi — tam olarak 1 saniye değil, 0.8-1.5 saniye rastgele
- robots.txt'ye Saygı — Crawl-delay kurallarına uyma
- Yük Dağıtımı — farklı IP'ler ile birden fazla iş parçacığında kazıma yapma
🔄 Kazıma İçin Proxy Türleri
Tüm proxy'ler veri kazıma için eşit derecede faydalı değildir. Proxy türünün seçimi, hedef siteye, veri hacmine, bütçeye ve koruma seviyesine bağlıdır.
Veri Merkezi Proxy'leri (Datacenter Proxies)
Veri merkezlerinden (AWS, Google Cloud, OVH) alınan IP'ler. Hızlı ve ucuzdurlar ancak siteler tarafından kolayca tespit edilirler.
✅ Artıları:
- En ucuz ($1.5-3/GB)
- Yüksek hız (100+ Mbps)
- Sabit IP'ler
❌ Eksileri:
- Kolayca tespit edilir (ASN biliniyor)
- Yüksek ban oranı (%50-80)
- Karmaşık siteler için uygun değil
İçin: Basit siteler, API'ler, dahili projeler
Konut Proxy'leri (Residential Proxies)
İSS'ler (İnternet Servis Sağlayıcıları) aracılığıyla gerçek ev kullanıcılarının IP'leri. Normal kullanıcılar gibi görünürler.
✅ Artıları:
- Meşru görünüyorlar
- Düşük ban oranı (%10-20)
- Milyonlarca IP havuzu
- Ülke/şehir bazlı hedefleme
❌ Eksileri:
- Daha pahalı ($2.5-10/GB)
- Daha yavaş (5-50 Mbps)
- Değişken IP'ler (değişebilirler)
İçin: E-ticaret, sosyal medya, korumalı siteler, SEO takibi
Mobil Proxy'ler
Mobil operatör IP'leri (3G/4G/5G). Binlerce kullanıcı tek bir IP'yi paylaştığı için en güvenilir olanlardır.
✅ Artıları:
- Neredeyse hiç engellenmezler (ban oranı ~%5)
- Paylaşımlı IP (binlerce kullanıcı tek IP'de)
- En zorlu korumalar için ideal
- Otomatik IP rotasyonu
❌ Eksileri:
- En pahalı ($3-15/GB)
- Konut proxy'lerinden daha yavaş
- Sınırlı IP havuzu
İçin: Instagram, TikTok, bankalar, maksimum koruma
⚔️ Karşılaştırma: Veri Merkezi vs Konut vs Mobil
| Parametre | Veri Merkezi | Konut (Residential) | Mobil |
|---|---|---|---|
| Başarı Oranı | 20-50% | 80-90% | 95%+ |
| Hız | 100+ Mbps | 10-50 Mbps | 5-30 Mbps |
| Fiyat/GB | $1.5-3 | $2.5-8 | $3-12 |
| IP Havuzu Büyüklüğü | 10K-100K | 10M-100M | 1M-10M |
| Tespit Edilebilirlik | Yüksek | Düşük | Çok Düşük |
| Coğrafi Hedefleme | Ülke/Şehir | Ülke/Şehir/İSS | Ülke/Operatör |
| En İyi Kullanım Alanı | API, basit siteler | E-ticaret, SEO | Sosyal medya, sıkı koruma |
💡 Tavsiye: Çoğu görev için en iyi fiyat/performans dengesi nedeniyle konut (residential) proxy'leri ile başlayın. Veri merkezi proxy'lerini yalnızca basit siteler için kullanın. Mobil proxy'ler ise en yüksek korumaya sahip kaynaklar içindir.
🎯 Görevleriniz İçin Proxy Seçimi
Proxy Seçim Matrisi
Seçim Kriterleri:
1. Hedef Sitenin Koruma Seviyesi
- Koruma Yok: Veri Merkezi proxy'leri
- Temel Koruma (Hız sınırlaması): Rotasyonlu Veri Merkezi proxy'leri
- Orta Düzey (Cloudflare Basic): Konut (Residential) proxy'leri
- Yüksek Düzey (Cloudflare Pro, DataDome): Premium konut proxy'leri
- Maksimum Koruma (PerimeterX, sosyal medya): Mobil proxy'ler
2. Veri Hacmi
- 10 GB/ay altı: Herhangi bir tür
- 10-100 GB/ay: Konut veya ucuz veri merkezi
- 100-1000 GB/ay: Veri merkezi + konut kombinasyonu
- 1 TB/ay üstü: Toplu veri merkezi + seçici konut
3. Bütçe
- $100/ay altı: Veri Merkezi proxy'leri
- $100-500/ay: Konut proxy'leri
- $500-2000/ay: Kritik görevler için Premium konut + mobil kombinasyonu
- $2000/ay üstü: Görevlere göre özel karışık havuzlar
4. Coğrafi Gereksinimler
- Coğrafi kısıtlama yok: Herhangi bir tür
- Belirli bir ülke: Coğrafi hedeflemeli Konut proxy'leri
- Belirli bir şehir/bölge: Premium konut proxy'leri
- Belirli bir İSS: İSS hedeflemeli Konut proxy'leri
✅ Kullanım Örnekleri
Amazon/eBay Fiyat Kazıma
Tavsiye: Hedef ülkenin Konut (Residential) proxy'leri
Neden: Orta düzey koruma + coğrafi içerik + büyük veri hacmi
Instagram/TikTok Veri Toplama
Tavsiye: Mobil (Mobile) proxy'ler
Neden: Agresif anti-bot koruması + mobil platform
Haber Siteleri Kazıma
Tavsiye: Rotasyonlu Veri Merkezi (Datacenter) proxy'leri
Neden: Genellikle ciddi koruma yok + büyük hacim
SEO Konum Takibi (Google)
Tavsiye: Farklı ülkelerden Konut (Residential) proxy'leri
Neden: Coğrafi sonuçlar + veri merkezi IP tespiti
💰 Kazıma Proxy Maliyet Analizi
Doğru bütçe hesabı, projenizin karlılığı için anahtardır. Gerçek senaryoları ve maliyetleri inceleyelim.
Trafik Hesaplaması
Formül
Aylık Trafik = Sayfa Sayısı × Sayfa Boyutu × Aşım Katsayısı
- Ortalama HTML Sayfa Boyutu: 50-200 KB
- Görüntüler/CSS/JS ile: 500 KB - 2 MB
- Aşım Katsayısı: 1.2-1.5× (yeniden denemeler, yönlendirmeler için)
- API uç noktaları: genellikle 1-50 KB
Örnek Hesaplamalar
Senaryo 1: Amazon Fiyat Kazıma
• Günlük Sayfa: 10,000
• Sayfa Boyutu: ~150 KB
• Aylık Hacim: 10,000 × 150 KB × 30 × 1.3 = 58.5 GB
• Proxy Türü: Konut (Residential)
• Maliyet: 58.5 GB × $2.7 = $158/ay
Senaryo 2: Google SEO Konum Takibi
• Anahtar Kelime: 1,000
• Günlük Kontrol: 1 kez
• SERP Boyutu: ~80 KB
• Aylık Hacim: 1,000 × 80 KB × 30 × 1.2 = 2.8 GB
• Proxy Türü: Konut (Farklı ülkeler)
• Maliyet: 2.8 GB × $2.7 = $7.6/ay
Senaryo 3: Toplu Haber Kazıma
• Günlük Makale: 50,000
• Makale Boyutu: ~30 KB (sadece metin)
• Aylık Hacim: 50,000 × 30 KB × 30 × 1.2 = 54 GB
• Proxy Türü: Veri Merkezi (Basit siteler)
• Maliyet: 54 GB × $1.5 = $81/ay
Maliyet Optimizasyonu
1. Verileri Önbelleğe Alın (Cache)
HTML'i yerel olarak kaydedin ve tekrar kazımak yerine yerel olarak analiz edin. Trafikte %50'ye varan tasarruf.
2. Mümkünse API Kullanın
API uç noktaları, tam HTML (200+ KB) yerine yalnızca JSON (1-50 KB) döndürür. %80-90 trafik tasarrufu.
3. Resimleri Engelleyin
Puppeteer/Selenium'da resim, video, font yüklemeyi engelleyin. Trafikte %60-70 tasarruf.
4. Yalnızca Yeni Verileri Kazıyın
Değişiklikleri belirlemek için sağlama toplamları (checksums) veya zaman damgaları kullanın. Değişmemiş sayfaları tekrar kazımayın.
💡 Pro-tip: Hibrit Strateji
Basit siteler için %70-80 ucuz veri merkezi proxy'leri, korumalı siteler için %20-30 konut proxy'leri kullanın. Bu, fiyat/kalite oranını optimize eder. Örneğin: 100K sayfa kazırken, 80K basit sayfa için veri merkezi ($120) ve 20K korumalı sayfa için konut ($54) kullanın. Toplam: $174, $270 yerine ( %35 tasarruf).
ProxyCove ile Kazımaya Başlayın!
Kayıt olun, ARTHELLO promosyon koduyla bakiyenizi yükleyin ve $1.3 bonus kazanın!
Web Kazıma Proxy'leri:
Bölüm 2'nin devamı: IP adresi rotasyon stratejileri, Python'da (requests, Scrapy) proxy kurulumu, Puppeteer ve Selenium kurulumu, gerçek görevler için pratik kod örnekleri.
Bu bölümde: IP adresi rotasyon stratejilerini (dönen vs. kalıcı oturumlar), Python'da (requests, Scrapy) proxy kurulumunu, Puppeteer ve Selenium kurulumunu inceleyeceğiz. ProxyCove ile gerçek görevler için pratik kod örnekleri.
📑 Bölüm 2 İçindekiler
🔄 IP Adresi Rotasyon Stratejileri
Proxy rotasyonu, başarılı kazıma için kilit bir tekniktir. Doğru rotasyon stratejisi, başarı oranını %20'den %95'e çıkarabilir. 2025'te kanıtlanmış birkaç yaklaşım bulunmaktadır.
Temel Stratejiler
1. Her İstekte Rotasyon
Her HTTP isteği yeni bir IP üzerinden yapılır. Maksimum anonimlik sağlar ancak oturumlarla ilgili sorunlara yol açabilir.
İçin Uygundur:
- Ürün listesi kazıma
- Statik sayfaların toplanması
- URL toplu kontrolü
- Google SERP kazıma
2. Kalıcı Oturumlar (Sticky Sessions)
Tüm kullanıcı oturumu boyunca (10-30 dakika) tek bir IP kullanılır. Gerçek bir kullanıcının davranışını taklit eder.
İçin Uygundur:
- Çok adımlı süreçler (giriş → veri)
- Form doldurma
- Hesap yönetimi
- E-ticaret sepetleri
3. Zamana Dayalı Rotasyon
Her N dakika veya N istekten sonra IP değiştirilir. İstikrar ile anonimlik arasında bir denge sağlar.
İçin Uygundur:
- Uzun süreli kazıma oturumları
- Hız limiti olan API çağrıları
- Gerçek zamanlı izleme
4. Akıllı Rotasyon (Yapay Zeka Destekli)
Algoritma, sunucu yanıtlarına (429, 403) ve başarı/başarısızlık desenlerine dayanarak IP'yi ne zaman değiştireceğine karar verir.
İçin Uygundur:
- Karmaşık anti-bot sistemleri
- Adaptif kazıma
- Yüksek verimlilik
💡 Seçim Önerileri
- Yüksek Hız İçin: Her istekte rotasyon + geniş IP havuzu
- Karmaşık Siteler İçin: Kalıcı oturumlar + davranış taklidi
- API Çağrıları İçin: Hız limitlerine saygı göstererek zamana dayalı rotasyon
- Sosyal Medya İçin: Kalıcı oturumlar + mobil proxy'ler (IP başına minimum 10 dk)
⚖️ Dönen Oturumlar vs Kalıcı Oturumlar (Sticky Sessions)
Detaylı Karşılaştırma
| Kriter | Dönen Proxy'ler (Rotating) | Kalıcı Oturumlar (Sticky) |
|---|---|---|
| IP Değişimi | Her istekte veya zamanlayıcıyla | Tek bir IP ile 10-30 dakika |
| Çerez (Cookie) Saklama | ❌ Hayır | ✅ Evet |
| Kazıma Hızı | Çok Yüksek | Orta |
| Hız Sınırlamasını Aşma | Mükemmel | Zayıf |
| Çok Adımlı Süreçler | Uygun Değil | İdeal |
| Proxy Tüketimi | Verimli | Orta |
| Tespit Edilebilirlik | Düşük | Düşük |
| Aynı Hacim İçin Fiyat | Daha Düşük | Daha Yüksek (daha uzun tutma) |
🎯 Karar: Statik verilerin toplu kazıması için dönen (rotating) proxy'leri kullanın. Hesap yönetimi, form doldurma ve çok adımlı süreçler için kalıcı oturumları (sticky sessions) tercih edin. ProxyCove her iki modu da destekler!
🐍 Python Requests'te Proxy Kurulumu
Python Requests, HTTP istekleri için en popüler kütüphanedir. Proxy kurulumu sadece 2 satır kod gerektirir.
Temel Kurulum
Basit Örnek
import requests
# ProxyCove proxy'si (ProxyCove kimlik bilgilerinizi girin)
proxy = {
"http": "http://username:password@gate.proxycove.com:8080",
"https": "http://username:password@gate.proxycove.com:8080"
}
# Proxy üzerinden istek atma
response = requests.get("https://httpbin.org/ip", proxies=proxy)
print(response.json()) # Proxy sunucusunun IP'sini göreceksiniz
✅ username:password kısmını ProxyCove kimlik bilgilerinizle değiştirin
Listeden Proxy Rotasyonu
import requests
import random
# ProxyCove proxy listesi (veya diğer sağlayıcılardan)
proxies_list = [
"http://user1:pass1@gate.proxycove.com:8080",
"http://user2:pass2@gate.proxycove.com:8080",
"http://user3:pass3@gate.proxycove.com:8080",
]
def get_random_proxy():
proxy_url = random.choice(proxies_list)
return {"http": proxy_url, "https": proxy_url}
# 100 sayfayı proxy rotasyonu ile kazıyalım
urls = [f"https://example.com/page/{i}" for i in range(1, 101)]
for url in urls:
proxy = get_random_proxy()
try:
response = requests.get(url, proxies=proxy, timeout=10)
print(f"✅ {url}: {response.status_code}")
except Exception as e:
print(f"❌ {url}: {str(e)}")
Hata İşleme ve Yeniden Deneme (Retry)
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
# Yeniden deneme stratejisi
retry_strategy = Retry(
total=3, # 3 deneme
backoff_factor=1, # Denemeler arası gecikme
status_forcelist=[429, 500, 502, 503, 504],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session = requests.Session()
session.mount("http://", adapter)
session.mount("https://", adapter)
# Proxy
proxy = {
"http": "http://username:password@gate.proxycove.com:8080",
"https": "http://username:password@gate.proxycove.com:8080"
}
# Otomatik yeniden deneme ile istek
response = session.get(
"https://example.com",
proxies=proxy,
timeout=15
)
🕷️ Scrapy Kurulumu ve Proxy
Scrapy, ölçekli kazıma için güçlü bir çerçevedir. Otomatik proxy rotasyonu için middleware desteği sunar.
Yöntem 1: Temel Kurulum
settings.py
# settings.py
# Ortam değişkeninden proxy kullanma
import os
http_proxy = os.getenv('HTTP_PROXY', 'http://user:pass@gate.proxycove.com:8080')
# Scrapy otomatik olarak http_proxy değişkenini kullanır
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
}
# Daha iyi uyumluluk için ek ayarlar
CONCURRENT_REQUESTS = 16 # Paralel istekler
DOWNLOAD_DELAY = 0.5 # İstekler arası gecikme (saniye)
RANDOMIZE_DOWNLOAD_DELAY = True # Gecikmeyi rastgeleleştirme
Yöntem 2: Özel Middleware ile Proxy Rotasyonu
# middlewares.py
import random
from scrapy import signals
class ProxyRotationMiddleware:
def __init__(self):
self.proxies = [
'http://user1:pass1@gate.proxycove.com:8080',
'http://user2:pass2@gate.proxycove.com:8080',
'http://user3:pass3@gate.proxycove.com:8080',
]
def process_request(self, request, spider):
# Her istek için rastgele bir proxy seçilir
proxy = random.choice(self.proxies)
request.meta['proxy'] = proxy
spider.logger.info(f'Kullanılan proxy: {proxy}')
# settings.py
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.ProxyRotationMiddleware': 100,
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
}
Yöntem 3: scrapy-rotating-proxies (Önerilen)
# Kurulum
pip install scrapy-rotating-proxies
# settings.py
ROTATING_PROXY_LIST = [
'http://user1:pass1@gate.proxycove.com:8080',
'http://user2:pass2@gate.proxycove.com:8080',
'http://user3:pass3@gate.proxycove.com:8080',
]
DOWNLOADER_MIDDLEWARES = {
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}
# Ban tespiti için ayarlar
ROTATING_PROXY_BAN_POLICY = 'rotating_proxies.policy.BanDetectionPolicy'
ROTATING_PROXY_PAGE_RETRY_TIMES = 5
✅ Çalışan proxy'leri otomatik olarak izler ve engellenenleri hariç tutar
🎭 Puppeteer ve Proxy
Puppeteer, JavaScript ağırlıklı siteler için (Cloudflare, DataDome gibi JS zorluklarını aşmak için) gerekli olan headless Chrome aracıdır.
Node.js + Puppeteer
Temel Örnek
const puppeteer = require('puppeteer');
(async () => {
// ProxyCove proxy kurulumu
const browser = await puppeteer.launch({
headless: true,
args: [
'--proxy-server=gate.proxycove.com:8080',
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
const page = await browser.newPage();
// Kimlik doğrulaması (proxy kullanıcı adı/şifre gerektiriyorsa)
await page.authenticate({
username: 'your_username',
password: 'your_password'
});
// Sayfayı kazıma
await page.goto('https://example.com');
const content = await page.content();
console.log(content);
await browser.close();
})();
Puppeteer'da Proxy Rotasyonu
const puppeteer = require('puppeteer');
const proxies = [
{ server: 'gate1.proxycove.com:8080', username: 'user1', password: 'pass1' },
{ server: 'gate2.proxycove.com:8080', username: 'user2', password: 'pass2' },
{ server: 'gate3.proxycove.com:8080', username: 'user3', password: 'pass3' }
];
async function scrapeWithProxy(url, proxyConfig) {
const browser = await puppeteer.launch({
headless: true,
args: [`--proxy-server=${proxyConfig.server}`]
});
const page = await browser.newPage();
await page.authenticate({
username: proxyConfig.username,
password: proxyConfig.password
});
await page.goto(url, { waitUntil: 'networkidle2' });
const data = await page.evaluate(() => document.body.innerText);
await browser.close();
return data;
}
// Farklı sayfalar için farklı proxy'ler kullanma
(async () => {
const urls = ['https://example.com/page1', 'https://example.com/page2'];
for (let i = 0; i < urls.length; i++) {
const proxy = proxies[i % proxies.length]; // Rotasyon
const data = await scrapeWithProxy(urls[i], proxy);
console.log(`Sayfa ${i + 1}:`, data.substring(0, 100));
}
})();
puppeteer-extra ve Eklentiler
// npm install puppeteer-extra puppeteer-extra-plugin-stealth
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
// Stealth eklentisi headless tarayıcı işaretlerini gizler
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({
headless: true,
args: ['--proxy-server=gate.proxycove.com:8080']
});
const page = await browser.newPage();
await page.authenticate({ username: 'user', password: 'pass' });
// Artık siteler bot olduğunuzu tespit edemeyecek!
await page.goto('https://example.com');
await browser.close();
})();
✅ Stealth eklentisi, webdriver, chrome nesneleri ve otomasyon işaretlerini gizler
🤖 Selenium ile Proxy (Python)
Selenium, tarayıcı otomasyonu için klasik bir araçtır. Chrome, Firefox ve diğer tarayıcıları destekler.
Chrome + Selenium
Proxy ile Temel Kurulum
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Chrome ayarları
chrome_options = Options()
chrome_options.add_argument('--headless') # GUI olmadan
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
# ProxyCove Proxy'si
proxy = "gate.proxycove.com:8080"
chrome_options.add_argument(f'--proxy-server={proxy}')
# Sürücüyü oluşturma
driver = webdriver.Chrome(options=chrome_options)
# Sayfayı kazıma
driver.get('https://httpbin.org/ip')
print(driver.page_source)
driver.quit()
Kullanıcı Adı/Şifreli Proxy (selenium-wire)
# pip install selenium-wire
from seleniumwire import webdriver
from selenium.webdriver.chrome.options import Options
# Proxy ayarları (kullanıcı adı/şifre ile)
seleniumwire_options = {
'proxy': {
'http': 'http://username:password@gate.proxycove.com:8080',
'https': 'http://username:password@gate.proxycove.com:8080',
'no_proxy': 'localhost,127.0.0.1'
}
}
chrome_options = Options()
chrome_options.add_argument('--headless')
# Kimlik doğrulamalı proxy ile sürücü oluşturma
driver = webdriver.Chrome(
options=chrome_options,
seleniumwire_options=seleniumwire_options
)
driver.get('https://example.com')
print(driver.title)
driver.quit()
✅ selenium-wire, standart Selenium'un desteklemediği kullanıcı adı/şifreli proxy'leri destekler
Selenium'da Proxy Rotasyonu
from seleniumwire import webdriver
from selenium.webdriver.chrome.options import Options
import random
# Proxy listesi
proxies = [
'http://user1:pass1@gate.proxycove.com:8080',
'http://user2:pass2@gate.proxycove.com:8080',
'http://user3:pass3@gate.proxycove.com:8080',
]
def create_driver_with_proxy(proxy_url):
seleniumwire_options = {
'proxy': {
'http': proxy_url,
'https': proxy_url,
}
}
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(
options=chrome_options,
seleniumwire_options=seleniumwire_options
)
return driver
# Birden fazla sayfayı farklı proxy'lerle kazıma
urls = ['https://example.com/1', 'https://example.com/2', 'https://example.com/3']
for url in urls:
proxy = random.choice(proxies)
driver = create_driver_with_proxy(proxy)
try:
driver.get(url)
print(f"✅ {url}: {driver.title}")
except Exception as e:
print(f"❌ {url}: {str(e)}")
finally:
driver.quit()
📚 Proxy Rotasyon Kütüphaneleri
scrapy-rotating-proxies
Scrapy için otomatik rotasyon ve ban tespiti.
pip install scrapy-rotating-proxies
requests-ip-rotator
AWS API Gateway üzerinden ücretsiz IP'ler aracılığıyla rotasyon.
pip install requests-ip-rotator
proxy-requests
Rotasyon ve kontrol özellikli requests kütüphanesi sarmalayıcısı.
pip install proxy-requests
puppeteer-extra-plugin-proxy
Puppeteer için proxy rotasyonu eklentisi.
npm install puppeteer-extra-plugin-proxy
💻 Tam Kod Örnekleri
Örnek: Amazon Fiyat Kazıma ve Rotasyon
import requests
from bs4 import BeautifulSoup
import random
import time
# ProxyCove proxy'leri
PROXIES = [
{"http": "http://user1:pass1@gate.proxycove.com:8080",
"https": "http://user1:pass1@gate.proxycove.com:8080"},
{"http": "http://user2:pass2@gate.proxycove.com:8080",
"https": "http://user2:pass2@gate.proxycove.com:8080"},
]
# Rotasyon için Kullanıcı Ajanları
USER_AGENTS = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
]
def scrape_amazon_product(asin):
url = f"https://www.amazon.com/dp/{asin}"
proxy = random.choice(PROXIES)
headers = {'User-Agent': random.choice(USER_AGENTS)}
try:
response = requests.get(url, proxies=proxy, headers=headers, timeout=15)
if response.status_code == 200:
soup = BeautifulSoup(response.content, 'html.parser')
# Veri kazıma
title = soup.find('span', {'id': 'productTitle'})
price = soup.find('span', {'class': 'a-price-whole'})
return {
'asin': asin,
'title': title.text.strip() if title else 'N/A',
'price': price.text.strip() if price else 'N/A',
}
except Exception as e:
print(f"{asin} için Hata: {str(e)}")
return None
# Ürün listesini kazıma
asins = ['B08N5WRWNW', 'B07XJ8C8F5', 'B09G9FPHY6']
for asin in asins:
product = scrape_amazon_product(asin)
if product:
print(f"✅ {product['title']}: {product['price']}")
time.sleep(random.uniform(2, 5)) # İnsan benzeri gecikme
Örnek: Scrapy Örümceği (Spider) ve Proxy
# spider.py
import scrapy
class ProductSpider(scrapy.Spider):
name = 'products'
start_urls = ['https://example.com/products']
custom_settings = {
'ROTATING_PROXY_LIST': [
'http://user1:pass1@gate.proxycove.com:8080',
'http://user2:pass2@gate.proxycove.com:8080',
],
'DOWNLOADER_MIDDLEWARES': {
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
},
'DOWNLOAD_DELAY': 1,
'CONCURRENT_REQUESTS': 8,
}
def parse(self, response):
for product in response.css('div.product'):
yield {
'name': product.css('h2.title::text').get(),
'price': product.css('span.price::text').get(),
'url': response.urljoin(product.css('a::attr(href)').get()),
}
# Sonraki sayfa
next_page = response.css('a.next::attr(href)').get()
if next_page:
yield response.follow(next_page, self.parse)
ProxyCove ile Başarılı Kazımaya Hazır Mısınız?
Tüm görevler için Residential, Mobile ve Datacenter proxy'leri. Promosyon kodu ARTHELLO ile bakiyenizi yükleyin ve $1.3 bonus kazanın! Abonelik ücreti yok — yalnızca kullandığınız trafik için ödeme yapın!
2025 En İyi Proxy Fiyatları:
🎁 İlk yüklemede ARTHELLO promosyon kodunu kullanarak ek $1.3 bakiye kazanın
Final Bölümünde: Web kazıma en iyi uygulamaları, banlardan kaçınma stratejileri, kazımanın yasal yönleri (GDPR, CCPA), gerçek kullanım senaryoları ve nihai öneriler.
Final Bölümünde: 2025 web kazıma en iyi uygulamalarını, banlardan kaçınma stratejilerini, kazımanın yasal yönlerini (GDPR, CCPA), gerçek kullanım senaryolarını ve başarılı kazıma için nihai önerileri ele alacağız.
📑 Final Bölüm İçindekiler
✨ 2025 Web Kazıma En İyi Uygulamaları
2025'te başarılı kazıma, teknik beceri, doğru araçlar ve etik yaklaşımın birleşimidir. En iyi uygulamaları takip etmek, başarı oranını %30'dan %90+'a çıkarabilir.
Kazımanın Altın Kuralları
1. robots.txt'ye Saygı Gösterin
robots.txt dosyası, sitenin hangi kısımlarının kazınabileceğini belirtir. Bu kurallara uymak, etik bir kazıyıcının göstergesidir.
User-agent: *
Crawl-delay: 10
Disallow: /admin/
Disallow: /api/private/
✅ Crawl-delay kurallarına uyun ve yasaklanmış yolları kazımayın
2. Gecikmeler Ekleyin
İnsan saniyede 100 istek yapmaz. Doğal davranışı taklit edin.
- Basit siteler için istekler arasında 0.5-2 saniye
- Korumalı siteler için 2-5 saniye
- Hassas veriler için 5-10 saniye
- Gecikmeleri rastgeleleştirin (tam olarak 1 saniye değil!)
3. User-Agent Rotasyonu
Aynı User-Agent + çok sayıda istek, anti-bot sistemleri için kırmızı bayraktır.
USER_AGENTS = [
'Mozilla/5.0 (Windows NT 10.0) Chrome/120.0',
'Mozilla/5.0 (Macintosh) Safari/17.0',
'Mozilla/5.0 (X11; Linux) Firefox/121.0',
]
4. Hata İşleme
Ağ kararsızdır. Proxy'ler düşer. Siteler 503 döndürür. Her zaman yeniden deneme (retry) mantığı kullanın.
- Üstel geri çekilme (exponential backoff) ile 3-5 deneme
- Hata kaydı (logging)
- Ban durumunda başka bir proxy'ye geçiş
- İlerlemenin kaydedilmesi
5. Oturumları Kullanın
Requests Session, çerezleri kaydeder, TCP bağlantılarını yeniden kullanır (daha hızlıdır) ve başlıkları yönetir.
session = requests.Session()
session.headers.update({...})
6. Sonuçları Önbelleğe Alın
Aynı veriyi iki kez kazımayın. HTML'i dosyalara veya veritabanına kaydederek yeni istek atmadan tekrar analiz edin.
İnsan Davranışını Taklit Etme
İnsan vs. Bot Davranışları
| Davranış | İnsan | Kötü Bot | İyi Bot |
|---|---|---|---|
| İstek Hızı | Tıklamalar arası 1-5 sn | 100/sn | 0.5-3 sn (rastgele) |
| User-Agent | Gerçek tarayıcı | Python-requests/2.28 | Chrome 120 (rotasyonlu) |
| HTTP Başlıkları | 15-20 başlık | 3-5 başlık | Tam set |
| JavaScript | Her zaman yürütür | Yürütmez | Headless tarayıcı |
| Çerezler | Saklar | Yoksayar | Yönetir |
🎯 Başlık (Headers) Önerileri
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
'DNT': '1',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Cache-Control': 'max-age=0',
}
🛡️ Banlardan Nasıl Kaçınılır?
Banlar kazımadaki en büyük sorundur. 2025'teki tespit sistemleri o kadar akıllıdır ki, kapsamlı bir yaklaşım gerektirir.
Çok Katmanlı Koruma Stratejisi
⚠️ Sizi Banlayan İşaretler
- IP İtibarı — bilinen proxy ASN'si veya veri merkezi IP'si
- Hız Sınırlaması — çok hızlı gelen çok sayıda istek
- Davranış Kalıpları — istekler arası sabit aralıklar
- JS Yürütme Eksikliği — tarayıcı zorluklarının yerine getirilmemesi
- TLS Parmak İzi — requests/curl'ün kendine özgü imzaları
- HTTP/2 Parmak İzi — başlık sırası otomasyonu ele verir
- WebGL/Canvas Parmak İzleri — headless tarayıcılar için
✅ Tespit Nasıl Aşılır?
1. Kaliteli Proxy Kullanımı
- Konut/Mobil karmaşık siteler için
- Geniş IP Havuzu (rotasyon için 1000+)
- İstenen ülkeye Coğrafi Hedefleme
- Çok adımlı süreçler için Kalıcı Oturumlar
2. Anti-Detection ile Headless Tarayıcılar
- Puppeteer-extra-stealth — headless işaretlerini gizler
- Playwright Stealth — Playwright için benzeri
- undetected-chromedriver — Selenium Python için
- Parmak İzi Rastgeleleştirme — WebGL, Canvas, Font varyasyonları
3. Akıllı Rotasyon ve Hız Sınırlaması
- IP başına dakikada en fazla 5-10 istek
- Gecikme rastgeleleştirmesi (sabit aralık yok)
- Adaptif rotasyon — 429/403 yanıtlarında IP değiştirme
- Gece Duraklamaları — kullanıcı uykusunu taklit etme
4. Tam Başlık Seti
- 15-20 gerçekçi HTTP başlığı
- Referer zinciri (nereden gelindiği)
- Proxy coğrafyasına göre Accept-Language
- Chrome için Sec-CH-UA başlıkları
💡 Pro-tip: Kombine Yaklaşım
Maksimum verimlilik için şunları birleştirin: Konut Proxy'leri + Puppeteer-stealth + Akıllı Rotasyon + Tam Başlıklar + 2-5 saniye Gecikmeler. Bu, karmaşık sitelerde bile %95+ başarı oranı sağlar.
⚖️ Web Kazımanın Yasal Yönleri
Web kazıma yasal olarak yasaklanmamıştır, ancak gri alanlar ve riskler mevcuttur. 2025'te yasal durum, özellikle AB (GDPR) ve ABD'de (CCPA) daha da sıkılaşmaktadır.
Hukuki Hususlar
✅ Neler Yasal Kabul Edilir?
- Herkese Açık Veriler — giriş yapmadan erişilebilen bilgiler
- Gerçekler ve Veriler — telif hakkıyla korunmayan veriler
- Fiyat Agregasyonu — fiyat takibi için (ABD'de emsaller mevcut)
- Akademik Araştırmalar — bilimsel amaçlar için
- robots.txt'ye Uyum — sitenin kurallarına riayet
❌ Neler Yasaktır veya Riskli?
- Kişisel Veriler — rıza olmadan e-posta, telefon numarası kazıma (GDPR)
- Telif Hakkı İçeriği — ticari amaçlı makale, fotoğraf, video kopyalama
- Koruma Aşma — CAPTCHA kırma, yetkilendirme atlama (ABD CFAA)
- DDoS Benzeri Yük — sunucuyu aşırı yükleme (ceza gerektiren suç)
- Hizmet Şartlarını İhlal — (sözleşme ihlali nedeniyle sivil dava)
- Ücretli İçerik (Paywall) — ücretli içeriği kazıma
⚠️ Gri Alanlar
- Sosyal Medya Genel Profilleri — LinkedIn ToS'de yasak, ancak mahkemeler kararsız
- AI Eğitim Verileri — yeni bir alan, yasalar hala şekilleniyor
- Rekabet İstihbaratı — yasal, ancak dava açılabilir
- Anahtarsız API Verileri — teknik olarak mümkün, hukuken tartışmalı
Önemli Mahkeme Kararları
hiQ Labs vs LinkedIn (ABD, 2022)
Mahkeme, LinkedIn'in herkese açık verilerinin kazınmasının CFAA'yı (Bilgisayar Dolandırıcılığı ve Kötüye Kullanımı Yasası) ihlal etmediğine karar verdi. Kazıyıcılar için bir zafer.
Clearview AI (AB, 2025)
Şirket, yüz tanıma için AI eğitimi amacıyla fotoğraf kazıdığı için rıza olmaksızın veri işlediği gerekçesiyle €20 milyon para cezasına çarptırıldı. AB'nin GDPR konusundaki katılığına örnek.
Meta vs BrandTotal (ABD, 2020)
Facebook, rakiplerin reklam verilerini proxy'ler aracılığıyla kazıyan şirkete karşı davayı kazandı. Teknik korumaları aşmanın ihlal olarak kabul edildiği bir durum.
🇪🇺 GDPR ve Veri Koruma
GDPR (Genel Veri Koruma Tüzüğü), dünyanın en katı veri koruma yasasıdır. İhlallerde ceza, küresel cironun %4'üne veya 20 milyon €'ya kadar çıkabilir.
GDPR'nin Kazıma İçin Temel Gereklilikleri
Yasal Dayanak (Lawful Basis)
Kişisel verileri işlemek için yasal bir dayanağa ihtiyacınız vardır:
- Rıza (Consent) — kazımada neredeyse imkansız
- Meşru Menfaat (Legitimate Interest) — gerekçelendirilmesi gerekir
- Yasal Yükümlülük — uyumluluk için
Veri Minimizasyonu
Yalnızca gerekli verileri toplayın. "Ne olur ne olmaz" diye her şeyi kazımayın. E-posta, telefon, adres gibi veriler yalnızca gerçekten gerekiyorsa toplanmalıdır.
Amaç Sınırlaması
Verileri yalnızca belirtilen amaç için kullanın. Pazar analizi için kazıdığınız verileri e-posta listesi olarak satamazsınız.
Unutulma Hakkı
Kişiler verilerinin silinmesini talep edebilir. Bu tür istekleri işlemek için bir prosedürünüz olmalıdır.
🚨 GDPR Yüksek Riskleri
- E-posta adreslerini spam için kazımak — garantili ceza
- Yüz fotoğrafları gibi biyometrik verilerin toplanması — hassas veri
- Çocuk verileri — güçlendirilmiş koruma
- Tıbbi veriler — özel izinler olmadan kesinlikle yasaktır
💡 Tavsiye: AB verilerini kazıyorsanız, bir hukuk uzmanına danışın. GDPR ciddiye alınması gereken bir konudur. Güvenlik için kişisel verilerden kaçının ve yalnızca olgulara, fiyatlara ve ürünlere odaklanın.
🎯 Gerçek Kullanım Senaryoları
Rakip Fiyat Takibi
Görev: Dinamik fiyatlandırma için Amazon/eBay fiyatlarını izlemek.
Çözüm: ABD Konut (Residential) proxy'leri + Scrapy + MongoDB. Günde 2 kez 10,000 ürün kazıma. Başarı oranı %92.
Proxy: Konut $200/ay
Yatırım Getirisi: Kârda %15 artış
SEO Konum İzleme
Görev: Google'da 1000 anahtar kelime için farklı ülkelerdeki konumları izlemek.
Çözüm: 20 farklı ülkeden Konut (Residential) proxy'leri + Python requests + PostgreSQL. Günlük SERP toplama.
Proxy: Konut $150/ay
Alternatif: SEO servis API'leri ($500+/ay)
ML Modelleri İçin Veri Toplama
Görev: NLP modeli eğitmek için 10 milyon haber makalesi toplamak.
Çözüm: Veri Merkezi (Datacenter) proxy'leri + Dağıtık Scrapy + S3 depolama. robots.txt ve gecikmelere uyum.
Proxy: Veri Merkezi $80/ay
Süre: 2 aylık toplama
Instagram/TikTok Kazıma
Görev: Pazarlama analizi için sosyal medyada marka bahsedenleri izlemek.
Çözüm: Mobil (Mobile) proxy'ler + Puppeteer-stealth + Redis kuyruğu. IP başına 10 dakikalık Kalıcı Oturumlar.
Proxy: Mobil $300/ay
Başarı Oranı: %96
Emlak İlanı Toplayıcı
Görev: 50 emlak sitesinden ilanları karşılaştırmak için toplamak.
Çözüm: Veri Merkezi + Konut proxy'leri karışımı + Scrapy + Elasticsearch. Her 6 saatte bir güncelleme.
Proxy: Karışık $120/ay
Hacim: Günde 500K ilan
Finansal Veriler
Görev: Ticaret algoritması için hisse senedi kotalarını ve haberleri kazımak.
Çözüm: Premium konut proxy'leri + Python asyncio + TimescaleDB. Gerçek zamanlı güncelleme.
Proxy: Premium $400/ay
Gecikme: <100ms kritik
📊 İzleme ve Analitik
Kazıma İçin Ana Metrikler
Başarı Oranı
HTTP 200 yanıtları
Ban Oranı
403/429 yanıtları
Ortalama Yanıt Süresi
Proxy gecikmesi
1K Sayfa Başına Maliyet
Proxy maliyeti
İzleme Araçları
- Prometheus + Grafana — gerçek zamanlı metrikler
- ELK Stack — loglama ve analiz
- Sentry — hata takibi
- Özel Dashboard — başarı oranı, proxy sağlığı, maliyetler
🔧 Tipik Sorunların Çözümü
Sık Karşılaşılan Hatalar ve Çözümleri
❌ HTTP 403 Forbidden
Neden: IP engellendi veya proxy olarak tespit edildi
Çözüm: Konut/mobil proxy'ye geçin, gerçekçi başlıklar ekleyin, headless tarayıcı kullanın
❌ HTTP 429 Too Many Requests
Neden: Hız limiti aşıldı
Çözüm: Gecikmeleri artırın (3-5 sn), proxy rotasyonunu sıklaştırın, eş zamanlı istekleri azaltın
❌ Her İstekte CAPTCHA
Neden: Site otomasyonu tespit ediyor
Çözüm: Puppeteer-stealth, mobil proxy, kalıcı oturumlar, daha fazla gecikme
❌ Boş İçerik / JavaScript Yüklenmiyor
Neden: Site dinamik render kullanıyor
Çözüm: requests yerine Selenium/Puppeteer kullanın, JS yüklenmesini bekleyin
❌ Yavaş Kazıma Hızı
Neden: Sıralı istekler
Çözüm: Asenkron programlama (asyncio, aiohttp), eş zamanlı istekler, daha fazla proxy
🔮 Web Kazımanın Geleceği: 2025-2026 Trendleri
Web kazıma sektörü hızla gelişiyor. Gelecekteki trendleri anlamak, rakiplerinizin ve anti-bot sistemlerinin bir adım önünde olmanızı sağlayacaktır.
Teknolojik Trendler
AI Destekli Kazıma
GPT-4 ve Claude halihazırda HTML'den yapılandırılmış veri çıkarabiliyor. 2026'da, sayfa düzenindeki değişikliklere otomatik uyum sağlayan özel LLM'ler ortaya çıkacak.
- Seçicilerin otomatik belirlenmesi
- Tasarım değişikliklerine adaptasyon
- İçeriğin anlamsal olarak anlaşılması
Tarayıcı Parmak İzi Rastgeleleştirmesi
Anti-detection araçlarının bir sonraki nesli, her oturum için gerçek cihazlara benzeyen benzersiz parmak izleri üretecek.
- WebGL/Canvas rastgeleleştirmesi
- Ses bağlamı parmak izleri
- Yazı tipi metrik varyasyonları
Dağıtık Kazıma Ağları
Eşler arası (peer-to-peer) kazıma ağları, kullanıcıların (onayları ile) IP'lerini kullanarak, sıradan trafik akışından ayırt edilemeyen bir akış oluşturacak.
Sunucusuz Kazıma (Serverless Scraping)
AWS Lambda, Cloudflare Workers gibi platformlar. Sonsuz ölçeklenebilirlik + bulut sağlayıcıları aracılığıyla yerleşik IP rotasyonu.
Yasal Değişiklikler
AB Yapay Zeka Yasası (EU AI Act) ve Web Kazıma
2025'te yürürlüğe giren AB Yapay Zeka Yasası, AI eğitim veri setlerinin toplanmasını düzenliyor. Önemli noktalar:
- Şeffaflık: Şirketler, veri kaynaklarını açıklamaya zorunlu olacak
- Çekilme Mekanizmaları (Opt-out): Site sahipleri, verilerinin kullanılmasını (robots.txt, ai.txt aracılığıyla) yasaklayabilir
- Telif Hakkı Koruması: İçerik üzerindeki hakların güçlendirilmesi
- Cezalar: İhlallerde küresel cironun %7'sine veya 35 Milyon €'ya kadar cezalar
ABD'de CCPA 2.0
Kaliforniya Tüketici Gizliliği Yasası 2025'te güncellendi. GDPR'ye benzer şekilde, kişisel veri kazımaya ilişkin daha katı gereklilikler içeriyor.
⚠️ Değişikliklere Hazırlanın
- Hemen uyumluluk prosedürleri oluşturun
- Veri toplama kaynaklarını ve amaçlarını belgeleyin
- Mümkün olduğunca kişisel verilerden kaçının
- robots.txt ve ai.txt güncellemelerini takip edin
- Ticari projeler için hukuk danışmanlığı alın
🚀 İleri Düzey Kazıma Teknikleri
Deneyimli Geliştiriciler İçin
1. HTTP/2 Parmak İzi Maskeleme
Modern anti-bot sistemleri HTTP/2 frame ve başlık sırasını analiz eder. curl-impersonate gibi kütüphaneler, TLS/HTTP düzeyinde belirli tarayıcıları taklit eder.
# Chrome 116'yı mükemmel taklit etmek için curl-impersonate kullanımı
curl_chrome116 --proxy http://user:pass@gate.proxycove.com:8080 https://example.com
2. Akıllı Proxy Rotasyon Algoritmaları
Basit rastgele rotasyon yerine akıllı algoritmalar:
- En Son Kullanılan (LRU): Uzun süredir kullanılmayan proxy'leri tercih etme
- Başarı Oranına Göre Ağırlıklandırma: Yüksek başarı oranına sahip proxy'leri daha sık kullanma
- Coğrafi Kümeleme: Aynı ülkedeki siteleri aynı ülkedeki proxy'lerle kazıma
- Adaptif Kısıtlama: Hız sınırlaması tespit edildiğinde otomatik yavaşlama
3. CAPTCHA Yakalama ve Çözme
CAPTCHA kaçınılmaz olduğunda şunları kullanın:
- 2Captcha API: Gerçek insanlar aracılığıyla çözüm ($0.5-3 / 1000 captcha)
- hCaptcha-solver: Basit captcha'lar için AI çözümleri
- Sesli CAPTCHA: Konuşmadan metne dönüştürme ile çözüm
- reCAPTCHA v3: Davranışsal analiz gerektirir, konut + stealth şart
4. Dağıtık Kazıma Mimarisi
Büyük projeler için (günlük 1M+ sayfa):
- Usta-İşçi modeli: Merkezi görev kuyruğu (Redis, RabbitMQ)
- Kubernetes podları: Kazıyıcıların yatay ölçeklenmesi
- Dağıtık veritabanları: Cassandra, MongoDB (depolama için)
- Mesaj Kuyrukları: Sonuçların asenkron işlenmesi
- İzleme yığını: Metrikler için Prometheus + Grafana
💎 Kurumsal Düzey: Proxy Yönetimi
Büyük ekipler ve projeler için şunları uygulayın:
- Merkezi Proxy Havuzu: Tüm projeler için tek bir proxy yönetimi
- Sağlık Kontrolü: Proxy'lerin çalışırlığının otomatik kontrolü
- Ban Tespiti: IP'lerin engellenip engellenmediğini belirleyen ML modelleri
- Maliyet Takibi: Projelere ve ekiplere göre harcama takibi
- API Ağ Geçidi: Proxy alma işlevi gören dahili API
🎯 Sonuçlar ve Öneriler
📝 Nihai Öneriler 2025
1️⃣ Proxy Seçimi
• Basit Siteler: Veri Merkezi proxy'leri ($1.5/GB)
• E-ticaret, SEO: Konut proxy'leri ($2.7/GB)
• Sosyal Medya, Bankalar: Mobil proxy'ler ($3.8/GB)
• Kombinasyon: Maliyet optimizasyonu için %80 veri merkezi + %20 konut
2️⃣ Araçlar
• Python requests: API'ler ve basit sayfalar için
• Scrapy: Ölçekli kazıma için (1M+ sayfa)
• Puppeteer/Selenium: JS ağırlıklı siteler için
• Stealth eklentileri: Tespitten kaçınmak için zorunlu
3️⃣ Rotasyon Stratejisi
• Dönen (Rotating): Toplu veri seçimi için
• Kalıcı (Sticky): Hesap yönetimi ve formlar için
• Gecikmeler: 2-5 saniye rastgele
• Hız Limiti: IP başına dakikada maksimum 10 istek
4️⃣ Yasal Uygunluk
• Yalnızca herkese açık verileri kazıyın
• robots.txt kurallarına uyun
• Kişisel verilerden kaçının (GDPR riskleri)
• Ticari projeler için hukuk danışmanlığı alın
5️⃣ ProxyCove — İdeal Seçim
• Tüm proxy türleri: Mobil, Konut, Veri Merkezi
• Her iki mod: Dönen ve Kalıcı oturumlar
• 195+ ülke coğrafi hedefleme
• Abonelik yok — yalnızca kullandığınız trafik için ödeme
• 7/24 Türkçe teknik destek
🏆 ProxyCove'un Kazıma İçin Avantajları
195+ Ülke
Küresel kapsama
%99.9 Çalışma Süresi
İstikrar
Otomatik Rotasyon
Dahili rotasyon
7/24 Destek
Her zaman ulaşılabilir
Kullandıkça Öde
Abonelik yok
IP/Login Auth
Esnek kimlik doğrulama
ProxyCove ile Başarılı Kazımaya Başlayın!
2 dakikada kaydolun, promosyon kodu ARTHELLO ile bakiyenizi yükleyin ve $1.3 bonus kazanın. Abonelik ücreti yok — yalnızca kullandığınız trafik için ödeme yapın!
2025 En İyi Web Kazıma Proxy Fiyatları:
🎁 İlk yüklemede promosyon kodu ARTHELLO ile ek $1.3 bakiye kazanın
İlginiz için teşekkürler! Bu kılavuzun 2025'te etkili bir web kazıma sistemi kurmanıza yardımcı olmasını umuyoruz. Kazımalarınızda başarılar! 🚀