Scraping için Kaç Proxy'ye İhtiyacınız Var?

Hedef sayına dayanarak havuzunuzu boyutlandırmak için pratik bir hesaplama çerçevesi, istek hacmi, rotasyon ihtiyaçları ve bütçe. Formüller ve boyutlandırma masaları içerir.

Scraping için Kaç Proxy'ye İhtiyacınız Var?

Neden Web için Proxy Count Maddeleri

Proje yüzlerini kazıyan ilk sorulardan biri aldatıcı basit: Kaç temsilci aslında neye ihtiyacım var? Çok az kullanın ve IP'leriniz birkaç dakika içinde yasaklanır. Çok fazla kullanın ve asla dokunmadığınız kapasitede bütçe harcıyorsunuz. Doğru sayı hedef sitelerinize, istek hacmine, rotasyon stratejinize ve bloklara toleransa bağlıdır.

Bu kılavuz pratik bir hesaplama çerçevesi sağlar, böylece proxy havuzunuzu güvenle ölçekleyebilirsiniz, günde on sayfayı ya da on milyon dolar dökmek.

Referansları kazımak için yeniyseniz, bizimle başlayın Web'e komple rehber Proxies Temel kavramlar için.

Core Formula

En basitinde, ihtiyacınız olan eş zamanlı IP sayısı:

required_ips = (requests_per_minute) / (safe_rpm_per_ip)

Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede Nerede? güvenli stat ip Tek bir IP talep oranı, blokları tetikle hedeflemeden hedef sitenizde devam edebilir. Bu, hedefle dramatik bir şekilde değişir:

Core Formula
Hedef TürüIP başına güvenli RPMNotlar Notlar Notlar Notlar Not Notlar Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Not Notlar
Küçük bloglar / statik siteler20-60Minimal anti-bot
E-ticaret (Shopify, WooCommerce)5-15Moderate rate Limit
Büyük platformlar (Amazon, Google)1-5Saldırgan algılama
Sosyal medya (LinkedIn, Instagram)0,5-2Çok katı uygulama

Örnek Hesaplama

Günlük bir e-ticaret sitesinden 50.000 ürün sayfasını kazımanız gerektiğini varsayalım, işi 8 saatlik bir pencere içinde tamamlamak:

# Target: 50,000 pages in 8 hours
requests_per_minute = 50000 / (8 * 60)  # ≈ 104 RPM
safe_rpm_per_ip = 10                     # e-commerce average
required_ips = 104 / 10  # ≈ 11 concurrent IPs

Uygulamada, bir tane eklemek gerekir 30-50% buffer Yeniden geziler, başarısızlıklar ve oran-limit cooldowns için. Yani gerçekçi ihtiyaç etrafta 15-17 eşzamanlı IPs.

Proxy Gereksinimlerinizi Etkileyen Faktörler

1. Hedef Site Sophistication

Gelişmiş Siteler anti-bot sistemleri Daha fazla IP gerektirir çünkü her IP bayrak olmadan daha az istek yapabilir. Google, Amazon ve büyük sosyal platformlar parmak izi ve davranışsal analizlere ağır yatırım yapmaktadır. Temel formülünden daha fazla IP'ler için bütçe, bu siteleri hedef alırken öne çıkıyor.

2. Cilt ve Frekans İste

Sürekli (24/7 izleme) toplu işlerden daha fazla IP'ye ihtiyaç duyar. Günlük bir toplu çalıştırırsanız, havuzunuzu pencere sırasında agresif bir şekilde döndürebilirsiniz, sonra IPs serinleyelim. Gerçek zamanlı izleme için, her IP daha uzun süre aktif kalır, toplam gereksiniminizi artırır.

3. Coğrafya Dağıtımı 3.

Birden çok bölgeden veriye ihtiyacınız varsa (yerelleştirilmiş fiyatlar, geo-specific arama sonuçları), her hedef coğrafyada IP'lere ihtiyacınız var. 10 ülkedeki fiyatları kazımak, ülkedeki 15 IP'ye ihtiyaç duyabilir, yani 150 toplam. Mevcut kontrolleri kontrol edin ProxyHat lokasyonları geo- dağıtımını planlamak için.

4. Oturum vs Rotating Gereksinimler

Bazı görevler (login akışları, çok sayfa kontrol analizi) gerektirir yapışkan seanslar Aynı IP nerede dakikalar için devam ediyor. Bu, IP'leri daha uzun bağlar, etkili havuz kullanımını azaltır. Hiçbir oturum devleti olmayan Saf veri toplama, her IP'yi daha verimli kullanarak her istekte bulunabilir.

5. Konut vs Datacenter

Konut IP'leri daha yüksek güven puanlarına sahiptir ve yasaklardan önce daha fazla istek yapabilir, bu yüzden bunlardan daha azına ihtiyacınız olabilir. Ancak GB'ye daha pahalıya mal oluyorlar. Datacenter IPs daha ucuzdur ancak daha hızlı bayraklanır, bu yüzden daha büyük bir havuza ihtiyacınız var. Daha derin bir karşılaştırma için, bakınız Konut vs Datacenter vs Mobile Proxies.

Youing Tables by Use Case

Youing Tables by Use Case
Vaka KullanımıGünlük İsteklerÖnerilen IPsProxy Type
Küçük SEO denetimi (1 site)1000-5,0005-10Konut Konut Konut Konut
Ürün fiyat izleme10.000-50.00015-30Konut Konut Konut Konut
SERP takip (100 anahtar kelime)5.000-00010-25Konut Konut Konut Konut
E-ticaret kataloğu kaldırıldı50.000-200,00030-80Konut Konut Konut Konut
Büyük ölçekli veriler aggregation500.000+100-500+Konut geri döndü

Total Band genişlik

Proxy count bir boyut; bant genişliği diğerdir. Toplam veri transferinizi tahmin edin:

# Average page sizes
static_page = 50 KB      # HTML only
dynamic_page = 200 KB    # HTML + JSON/API responses
full_render = 2-5 MB     # with all assets (headless browser)
# Example: 50,000 pages/day × 200 KB average
daily_bandwidth = 50000 * 200 / 1024 / 1024  # ≈ 9.5 GB/day

Bu doğruyu seçmenize yardımcı olur ProxyHat planı Hem IP hem de bant genişliğine dayanarak.

Uygulama: Dynamic Pool Sizing

Statik olarak tahmin etmek yerine, gerçek dünya koşullarına adapte olan dinamik havuz boyutunu uygulayın. İşte ProxyHat ağ geçidini adaptif koncurrency ile kullanmak bir örnek:

Python Örnek

import asyncio
import aiohttp
from dataclasses import dataclass, field
from time import time
@dataclass
class PoolSizer:
    """Dynamically adjusts concurrent proxy connections based on success rate."""
    min_concurrent: int = 5
    max_concurrent: int = 100
    target_success_rate: float = 0.95
    current_concurrent: int = 10
    results: list = field(default_factory=list)
    def record(self, success: bool):
        self.results.append((time(), success))
        # Keep only last 100 results
        self.results = self.results[-100:]
    @property
    def success_rate(self) -> float:
        if not self.results:
            return 1.0
        return sum(1 for _, s in self.results if s) / len(self.results)
    def adjust(self):
        rate = self.success_rate
        if rate >= self.target_success_rate and self.current_concurrent < self.max_concurrent:
            # Success rate is good — try more concurrency
            self.current_concurrent = min(self.current_concurrent + 2, self.max_concurrent)
        elif rate < self.target_success_rate * 0.9:
            # Success rate dropping — reduce concurrency
            self.current_concurrent = max(self.current_concurrent - 5, self.min_concurrent)
async def scrape_with_adaptive_pool(urls: list[str]):
    sizer = PoolSizer()
    proxy = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
    semaphore = asyncio.Semaphore(sizer.current_concurrent)
    async with aiohttp.ClientSession() as session:
        async def fetch(url):
            async with semaphore:
                try:
                    async with session.get(url, proxy=proxy, timeout=aiohttp.ClientTimeout(total=30)) as resp:
                        success = resp.status == 200
                        sizer.record(success)
                        return await resp.text() if success else None
                except Exception:
                    sizer.record(False)
                    return None
        for batch_start in range(0, len(urls), sizer.current_concurrent):
            batch = urls[batch_start:batch_start + sizer.current_concurrent]
            await asyncio.gather(*[fetch(url) for url in batch])
            sizer.adjust()
            # Update semaphore for next batch
            semaphore = asyncio.Semaphore(sizer.current_concurrent)
            print(f"Concurrent IPs: {sizer.current_concurrent}, Success rate: {sizer.success_rate:.1%}")

Üretim kullanımı için, üretim kullanımı, ProxyHat Python SDK Bağlantı havuzu ve rotasyon otomatik olarak çalışır.

Node.js Örnek

const HttpsProxyAgent = require('https-proxy-agent');
const fetch = require('node-fetch');
class AdaptivePoolSizer {
  constructor(min = 5, max = 100) {
    this.min = min;
    this.max = max;
    this.current = 10;
    this.results = [];
    this.targetRate = 0.95;
  }
  record(success) {
    this.results.push({ time: Date.now(), success });
    if (this.results.length > 100) this.results = this.results.slice(-100);
  }
  get successRate() {
    if (!this.results.length) return 1;
    return this.results.filter(r => r.success).length / this.results.length;
  }
  adjust() {
    if (this.successRate >= this.targetRate && this.current < this.max) {
      this.current = Math.min(this.current + 2, this.max);
    } else if (this.successRate < this.targetRate * 0.9) {
      this.current = Math.max(this.current - 5, this.min);
    }
  }
}
async function scrapeWithAdaptivePool(urls) {
  const sizer = new AdaptivePoolSizer();
  const agent = new HttpsProxyAgent('http://USERNAME:PASSWORD@gate.proxyhat.com:8080');
  for (let i = 0; i < urls.length; i += sizer.current) {
    const batch = urls.slice(i, i + sizer.current);
    const results = await Promise.allSettled(
      batch.map(url =>
        fetch(url, { agent, timeout: 30000 })
          .then(res => { sizer.record(res.ok); return res.text(); })
          .catch(() => { sizer.record(false); return null; })
      )
    );
    sizer.adjust();
    console.log(`Concurrent: ${sizer.current}, Success: ${(sizer.successRate * 100).toFixed(1)}%`);
  }
}

Common Hatalar Proxy Pools

  • Tüm hedefler için aynı sayıyı kullanarak. Statik bloglar için çalışan bir havuz Amazon'da başarısız olacaktır. Her zaman hedef için kriter.
  • Yeniden denemeyi bekliyorum. Başarısız istekler bant genişliği ve zaman harcar. agresif hedefler için 20-40% retry oranı.
  • Oturum gereksinimleri için muhasebe değil. Giriş akışları için yapışkan seanslara ihtiyacınız varsa, her seans bir IP'yi bağlar. Eş zamanlı seanslara dayanan hesaplama, sadece istek oranı değil.
  • Coğrafi ihtiyaçları unutun. ABD'deki on IP, Japonya'da yerelleştirilmiş sonuçlar çıkarmanıza yardımcı olmayacaktır. Coğrafya için plan.
  • Over-provisioning "sadece durumda." ProxyHat gibi dönen konut temsilcileri ile, büyük bir havuza otomatik olarak erişebilirsiniz. Gürültü için ödersiniz, havuzdaki IP sayısı için değil. Focus on Focus on Focus Doğru tip proxy seçmek IP'leri dinlemek yerine.

ProxyHat Avantajı: Havuz Yönetimi Basitleştirilmiş

ProxyHat'ın dönen proxy konut ağ geçidi ile IP'lerin listesini manuel olarak yönetmeniz gerekmez. Her istek aracılığıyla gate.proxyhat.com otomatik olarak milyonlarca havuzundan taze bir IP alır. Bu demektir:

  • Hiçbir manuel IP listesi yönetimi
  • Her istekte otomatik rotasyon (veya gerektiğinde yapışkan seanslar)
  • IP'lere erişim 190+ ülke
  • Kullanılan bant genişliği için ödeme, per-IP ücretleri değil

"proxy count" etkili bir şekilde sizin tutarlılık seviyeniz haline gelir - ağ geçidi aracılığıyla kaç eş zamanlı bağlantı. Yukarıdaki formüllerle başlayın, sonra adaptif boyutlandırma kodunun üretimine izin verin.

Referanslarla kazınma mimarisi ile dolu bir yürüyüş için, bizi gör Web'e komple rehber Proxies. Havuz boyutunu tamamlayan rotasyon stratejileri hakkında bilgi edinmek, okumak Blokedilmeden Web Siteleri Nasıl Çıkarılır.

Sık Sorulan Sorular

Küçük ölçekli kazılara ne kadar çok temsilci ihtiyacım var?

Günde 5.000'in altındaki küçük projeler orta derecede korunan siteleri hedeflemekte, 5-10 eş zamanlı konut proxyleri genellikle yeterlidir. ProxyHat gibi dönen bir ağ geçidi ile, sadece 10-10'a kadar tebrik seviyenizi ayarlıyorsunuz ve sistem IP atamasını yönetiyor.

JavaScript-heavy siteleri için daha fazla referansa ihtiyacım var mı?

Evet. Headless browser scraping istek başına daha yavaştır (2-10 saniyeler HTML-only için 0,5-1 saniye), bu da her bir eşzamanlı slot süreçlerinin daha az talep anlamına gelir. Aynı bağlantıyı korumak için 2-3x'a ihtiyacınız olabilir. rehberimizi gör Bloklardan kaçınmak Optimizasyon ipuçları için.

Konut veya merkezi veri proxylerini kullanmalıyım?

Çoğu hurda görev için, konut proxyları daha yüksek başarı oranları sunar ve daha az eşzamanlı bağlantı gerektirir. Datacenter proxyleri GB'de daha ucuzdur ancak daha hızlı bloke edilir, daha büyük bir havuz gerektirir. Devamını Oku Karşılaştırma türü karşılaştırma türü ayrıntılı rehberlik için.

ProxyHat'ın dönen havuz çalışması nasıl yapılır?

ProxyHat'ın ağ geçidi aracılığıyla her istek (her istek)gate.proxyhat.com:8080) otomatik olarak farklı bir konut IP olarak atanır. Bireysel IP’leri yönetmezsiniz - koncurrency ve sistem rotasyonu yönetiyorsunuz. Bu, statik IP listesini korumaktan daha verimlidir.

Başlamaya hazır mısınız?

148+ ülkede 50M+ konut IP'sine AI destekli filtreleme ile erişin.

Fiyatlandırmayı GörüntüleKonut Proxy'leri
← Bloga Dön