Çözüm
Web Scraping İçin Proxy: Veri Çekme İş Akışına Göre Seçim
Web scraping için proxy seçimi, hedef sitenin hangi istek hızını ve oturum düzenini kabul ettiğine göre değişir. Bu sayfa veri çekme boru hattını aşama aşama ele alır ve her aşamada hangi proxy davranışının işe yaradığını anlatır.
Veri çekme işi tek bir istekten ibaret değildir. Çekilecek adresler bir kuyruğa girer, işçi süreçler bu kuyruğu tüketir, hata alan istekler yeniden denenir ve sonuçlar bir depoya yazılır. Proxy bu zincirin yalnızca bir halkasıdır; sorun hedef sitenin istek hızı ya da oturum kurallarından kaynaklanıyorsa IP değiştirmek bu kuralları ortadan kaldırmaz.
Asıl zorluk, doğru aşamada doğru davranışı seçmektir. Hesapla giriş yapıp sayfa sayfa ilerleyen bir akış, ardışık isteklerin aynı IP'den gitmesini ister. Birbirinden bağımsız binlerce genel sayfayı tarayan bir akış ise yükü birçok çıkış adresine yaymak ister. İkisini aynı proxy ayarıyla yürütmek hem gereksiz maliyet hem gereksiz hata üretir.
Veri çekme boru hattında her aşamada proxy'den ne beklenir?
Deneme amaçlı bir betik ile üretimde çalışan bir veri hattı arasındaki fark, sorumlulukların aşamalara ayrılmasıdır. Aşağıdaki sıra tipik bir akışı ve her adımda proxy katmanından beklenen davranışı gösterir.
- 01URL kuyruğuÇekilecek adresler bir kuyruğa alınır ve her hedef alan adı için ayrı bir sıra tutulur. Proxy bu aşamada henüz devrede değildir, ama hangi alan adının hangi çıkış adresi grubuyla çalışacağı burada kararlaştırılır.
- 02Hız sınırıHer alan adı için saniyedeki istek sayısı ve eşzamanlı bağlantı üst sınırı tanımlanır. Hedefin kaldırabileceği yük bu katmanda korunur; daha fazla IP eklemek sınırı yükseltmek için bir gerekçe değildir. Bazı siteler sınırı tek IP yerine /24 gibi bir alt ağ düzeyinde uygular, bu yüzden adres sayısını artırmak kapasiteyi aynı oranda artırmayabilir. Alt ağ mantığı için CIDR ve alt ağ maskesi yazısına bakın.
- 03İstek ve oturumGiriş, sepet ya da sayfalama gibi birbirine bağlı istekler aynı çıkış IP'sinden gitmelidir; bu statik adreslerin işidir. Birbirinden bağımsız genel sayfalarda çıkış adresi her istekte değişebilir; bu dönen havuzların işidir. Bu ayrım, statik ve dönen IP kararının temelidir.
- 04Hata ve yeniden deneme429 ve 503 yanıtlarında kısa bir beklemeyle, katlanarak artan aralıklarla yeniden denenir. 407 kimlik bilgisi sorununu, 403 ise hedefin isteği reddettiğini gösterir; ikisi de körlemesine tekrarlanmaz. Ayrıntı için proxy hata kodları yazısına bakın.
- 05Ayrıştırma ve kayıtÇekilen sayfa ayrıştırılır, gerekiyorsa ham yanıt saklanır. GB bazlı paketlerde görsel, betik ve stil dosyalarını hiç istememek hem süreyi hem harcamayı düşürür.
Statik IP mi, dönen IP mi kullanmalı?
Karar çoğu zaman tek soruya iner: ardışık istekler birbirine bağlı mı? Bağlıysa IP'nin oturum boyunca sabit kalması gerekir. Bağımsızsa yükü yayan bir çıkış düzeni daha uygundur.
| Senaryo | Gereken IP davranışı | İlgili ürün |
|---|---|---|
| Hesapla giriş yapılan, sepet ya da çok adımlı form içeren akış | Oturum boyunca değişmeyen sabit IP | ISP Proxy |
| Binlerce bağımsız liste, ürün ya da ilan sayfası | Çıkış adresi isteğe göre değişen dönen havuz | Residential Proxy |
| Mobil operatör ağından gelen ziyaretçiyi ayrı değerlendiren hedefler | Operatör hattından çıkan mobil IP | Mobil Proxy, Rotating Mobil Proxy |
| Hız ve maliyet öncelikli, hedefin datacenter adreslerine farklı davranmadığı toplu iş | Çok sayıda sabit datacenter adresi | Datacenter Proxy |
Maliyet modeli de kararı etkiler. Residential paketler GB bazlıdır, bu yüzden harcamayı sayfa ağırlığı belirler. Datacenter paketler 30 günlüktür ve IP sayısı üzerinden kurulur; mağazanın ürün sayfasında belirtildiği üzere trafik sınırsızdır. Güncel katalog fiyatları için Fiyatlandırma sayfasına bakın.
Hız sınırı, yeniden deneme ve robots.txt nasıl ele alınır?
İyi tasarlanmış bir veri hattı hedef siteyi yormaz. İstekleri alan adı başına sıraya koyun, yanıttaki Retry-After başlığına uyun ve hata aldığınızda bekleme süresini artırın. Aşağıdaki Python örneği bu mantığın en küçük hâlidir; kimlik bilgileri yer tutucudur. Kurulumun ayrıntıları için Python ile proxy kullanımı yazısına bakın.
import time
import requests
PROXY = "http://KULLANICI:[email protected]:PORT"
PROXIES = {"http": PROXY, "https": PROXY}
BASLIKLAR = {"User-Agent": "ornek-veri-istemcisi/1.0 (+https://example.com/iletisim)"}
SAYFALAR = [
"https://example.com/liste?sayfa=1",
"https://example.com/liste?sayfa=2",
]
def getir(oturum, url, deneme=4, bekleme=2.0):
for sira in range(deneme):
yanit = oturum.get(url, proxies=PROXIES, headers=BASLIKLAR, timeout=20)
if yanit.status_code in (429, 503):
sure = yanit.headers.get("Retry-After", "")
time.sleep(int(sure) if sure.isdigit() else bekleme * (2 ** sira))
continue
yanit.raise_for_status()
return yanit.text
raise RuntimeError("Yanıt alınamadı: " + url)
with requests.Session() as oturum:
for url in SAYFALAR:
html = getir(oturum, url)
print(url, len(html))
time.sleep(1.5) # alan adı başına nazik bir beklemeKontrol listesi
- robots.txt dosyası ve kullanım koşulları okundu, çekilecek yollar bunlara uygun.
- Her alan adı için ayrı hız sınırı ve eşzamanlı bağlantı üst sınırı tanımlandı.
- Oturumlu akışlar için sabit IP, bağımsız sayfalar için dönen havuz kararı senaryo bazında verildi.
- 429 ve 503 yanıtlarında Retry-After desteği ve katlanarak artan bekleme uygulanıyor.
- Proxy bilgileri Proxy Kontrol aracıyla sınandı ve çıkış IP'sinin proxy'den geldiği doğrulandı.
- GB bazlı pakette gereksiz görsel, betik ve stil dosyaları istenmiyor, harcama küçük bir örnekle ölçüldü.
- Toplanan veride kişisel veri olup olmadığı belirlendi, amaç, saklama süresi ve silme süreci yazıya döküldü.
Sık sorulan sorular
İlgili rehberler
- Python ile Proxy Kullanımı: requests, httpx ve aiohttp Örneklerirequests, httpx ve aiohttp ile HTTP ve SOCKS5 proxy kullanmanın çalışır örnekleri, zaman aşımı ve yeniden deneme ayarları ve çıkış IP'sini doğrulama adımları.
- Rotating Proxy Nedir? Dönen, Sticky ve Statik IP FarkıRotating, sticky ve statik IP modellerinin farkını, iş yüküne göre seçimi ve istemci tarafında oturum yönetimini anlatıyoruz; dönen mobil ve residential havuzları da karşılaştırıyoruz.
- Proxy Hataları: 407, 403 ve 429 Ne Anlama Gelir, Nasıl Çözülür?407, 403 ve 429 hata kodlarının proxy kullanırken ne anlama geldiğini, hatanın kaynağını nasıl ayırt edeceğinizi ve çözüm adımlarını bu yazıda bulabilirsiniz.
ipv4proxy.tr
Doğru adresi bulun.
Sekiz ürün, doğrulanmış fiyatlar, gerçek araçlar. Sipariş saglamproxy.com üzerinde tamamlanır.