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
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.
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ı
Proxy Türü | Hız | Güvenilirlik | Maliyet | En İ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.
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
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
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
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
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
1from fake_useragent import UserAgent
2ua = UserAgent()
3headers = {"User-Agent": ua.random}
4
5
1import time
2import random
3time.sleep(random.uniform(1, 3))
4
5
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
Büyük ölçekli projeler için:
MoMoProxy (Kurumsal seviye proxy ağı)
MoMoProxy Örneği:
1proxy = "http://USERNAME:[email protected]:8100"
2response = requests.get(
3 "https://target.com",
4 proxies={"http": proxy, "https": proxy}
5)
6
7
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