İçeriğe geç
ipv4proxy.tr

Çö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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Veri çekme senaryosuna göre IP davranışı ve ilgili ürün
SenaryoGereken 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 IPISP Proxy
Binlerce bağımsız liste, ürün ya da ilan sayfasıÇıkış adresi isteğe göre değişen dönen havuzResidential Proxy
Mobil operatör ağından gelen ziyaretçiyi ayrı değerlendiren hedeflerOperatör hattından çıkan mobil IPMobil Proxy, Rotating Mobil Proxy
Hız ve maliyet öncelikli, hedefin datacenter adreslerine farklı davranmadığı toplu işÇok sayıda sabit datacenter adresiDatacenter 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.

Her istekte proxy, zaman aşımı ve katlanarak artan bekleme
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 bekleme

Kontrol 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

ipv4proxy.tr

Doğru adresi bulun.

Sekiz ürün, doğrulanmış fiyatlar, gerçek araçlar. Sipariş saglamproxy.com üzerinde tamamlanır.