2025'te Veri Kazıma İçin Proxy Nasıl Döndürülür: Yasaklamalardan Kaçının ve Başarıyı Artırın

Post Time: Jul 24, 2025

Giriş

Proxy rotasyonu, günümüzün bot karşıtı ortamında başarılı web kazıma için gereklidir. Bu kapsamlı rehber, temel proxy rotasyonundan gelişmiş tekniklere kadar her şeyi Python kod örnekleri ve tespitten kaçınmak için en iyi uygulamalarla kapsar.

1. Proxy Rotasyonu Neden Önemli?

Web siteleri çeşitli anti-kazıma önlemleri kullanır:

  • IP oran sınırlama (IP başına istek)
  • İstek deseni analizi
  • User-Agent parmak izi

Proxy rotasyonu şu şekilde yardımcı olur:

  • İstekleri birden fazla IP'ye dağıtarak

  • Organik kullanıcı davranışını taklit ederek

  • Yasaklama ve CAPTCHA riskini azaltarak

"Proxy rotasyonu olmadan, en iyi kazıyıcılar bile dakikalar içinde engellenir." - Web Kazıma Uzmanı

2. Kazıma İçin Proxy Türleri

Proxy TürüHızGüvenilirlikMaliyetEn İyi Kullanım
Veri Merkezi★★★★★★$Genel kazıma
Residential★★★★★★★$$$E-ticaret, sosyal medya
Mobil (4G/5G)★★★★★★★$$$$Gelişmiş bot korumalı siteler
ISP★★★★★★★★$$Dengeli projeler

Öneri: Test için veri merkezi proxy'leri ile başlayın, üretim kazıma için residential'a geçin.

3. Python'da Temel Proxy Rotasyonu

3.1 Sıralı Rotasyon

python Copy
1import requests
2from itertools import cycle
3
4proxies = [
5    "http://121.136.189.231:60001",
6    "http://113.160.132.195:8080",
7    "http://122.10.225.55:8000"
8]
9
10proxy_pool = cycle(proxies)
11
12for _ in range(5):
13    proxy = next(proxy_pool)
14    try:
15        response = requests.get(
16            "https://httpbin.io/ip",
17            proxies={"http": proxy, "https": proxy},
18            timeout=5
19        )
20        print(f"Success: {proxy} | {response.text}")
21    except Exception as e:
22        print(f"Failed: {proxy} | {str(e)}")
23
24

3.2 Rastgele Rotasyon

python Copy
1import requests
2import random
3
4proxies = [...]  # Your proxy list
5
6for _ in range(5):
7    proxy = random.choice(proxies)
8    try:
9        response = requests.get(
10            "https://httpbin.io/ip",
11            proxies={"http": proxy, "https": proxy},
12            timeout=5
13        )
14        print(f"Success: {proxy} | {response.text}")
15    except Exception as e:
16        print(f"Failed: {proxy} | {str(e)}")
17
18

4. Gelişmiş Rotasyon Teknikleri

4.1 Oturum Kalıcılığı

python Copy
1import requests
2from requests.adapters import HTTPAdapter
3from urllib3.util.retry import Retry
4
5session = requests.Session()
6retries = Retry(total=3, backoff_factor=1)
7session.mount('http://', HTTPAdapter(max_retries=retries))
8session.mount('https://', HTTPAdapter(max_retries=retries))
9
10# Birden çok istek için aynı proxy'yi kullan
11proxy = "http://121.136.189.231:60001"
12session.proxies = {"http": proxy, "https": proxy}
13
14

4.2 Coğrafi Dönüş

python Copy
1geo_proxies = {
2    "US": "http://us-proxy:port",
3    "UK": "http://uk-proxy:port",
4    "DE": "http://germany-proxy:port"
5}
6
7for country, proxy in geo_proxies.items():
8    response = requests.get(
9        "https://httpbin.io/ip",
10        proxies={"http": proxy, "https": proxy}
11    )
12    print(f"Country: {country} | IP: {response.json()['origin']}")
13
14

5. Asenkron Proxy Rotasyonu

python Copy
1import aiohttp
2import asyncio
3
4async def check_proxy(session, proxy):
5    try:
6        async with session.get(
7            "https://httpbin.io/ip",
8            proxy=f"http://{proxy}",
9            timeout=10
10        ) as response:
11            print(await response.text())
12    except Exception as e:
13        print(f"Proxy {proxy} failed: {str(e)}")
14
15async def main():
16    proxies = open("proxies.txt").read().splitlines()
17    async with aiohttp.ClientSession() as session:
18        tasks = [check_proxy(session, proxy) for proxy in proxies]
19        await asyncio.gather(*tasks)
20
21asyncio.run(main())
22
23

6. En İyi Uygulamalar

1. Başlık Rotasyonu ile Birleştirin

python Copy
1from fake_useragent import UserAgent
2ua = UserAgent()
3headers = {"User-Agent": ua.random}
4
5

2. Gecikmeler Uygulayın

python Copy
1import time
2import random
3time.sleep(random.uniform(1, 3))
4
5

3. Proxy Sağlık Kontrolleri

python Copy
1def is_proxy_alive(proxy):
2    try:
3        requests.get("http://example.com", proxies={"http": proxy}, timeout=5)
4        return True
5    except:
6        return False
7
8

4. Üretim İçin Premium Proxy Kullanın

7. Premium Residential Proxy Çözümleri

Büyük ölçekli projeler için:

MoMoProxy (Kurumsal seviye proxy ağı) homepagemomoproxy.png

MoMoProxy Örneği:

python Copy
1proxy = "http://USERNAME:[email protected]:8100"
2response = requests.get(
3    "https://target.com",
4    proxies={"http": proxy, "https": proxy}
5)
6
7

8. Sonuç

Proxy rotasyonu başarılı web kazıma için gereklidir. Önemli çıkarımlar:

  • Temel rotasyonla başlayıp ihtiyaca göre ölçeklendirin

  • Diğer anti-tespit teknikleriyle birleştirin

  • Üretim kazıma için premium proxyler kullanın

  • Stratejinizi sürekli izleyin ve uyarlayın

Gelişmiş teknikler için rehberlerimizi keşfedin:

  • Dönen User Agent'lar

  • CAPTCHA Atlama

  • Headless Browser ile Kazıma

Consent Preferences