Mobil Proxy Python Kurulumu
Mobil proxy için adım adım Python kurulum kılavuzu. Gerçek 4G/5G operatör IP’leri kullanarak hatasız otomasyon ve web veri toplama işlemleri için requests, httpx, aiohttp ve Selenium’u yapılandırın.
- Oturum havuzu kullanımı talep ediyor — yapışkan oturumları sürdürmek ve yüzlerce HTTP isteği boyunca TCP bağlantılarını yeniden kullanmak.
- Yüksek eşzamanlılık sunan httpx ve aiohttp — tam HTTP/2 ve SOCKS5 proxy desteği ile asenkron istemci aktarımlarını yapılandırın.
- Headless Selenium entegrasyonu — proxy parametrelerini ekleyin ve tarayıcı kimlik doğrulama uzantılarını sorunsuz bir şekilde yönetin.
- Esnek yeniden deneme boru hatları — IP rotasyonundaki bekleme sürelerini otomatik olarak algılar ve geçici operatör kesintilerini yeniden dener.
Python Proxy Kütüphaneleri
Python is the primary language for web scraping, automation, and data pipeline engineering. However, different Python libraries interact with proxies at different layers of the networking stack. Choosing the right library depends on whether your project requires simple synchronous HTTP calls, high-concurrency asynchronous workflows, or full browser emulation.
| Kütüphane | Paradigma | SOCKS5 Desteği | En Uygun Olan |
|---|---|---|---|
| requests | Senkron | Via istekleri [socks] | Komut dosyaları, doğrusal veri toplayıcılar, API istemcileri |
| httpx | Senkron ve Asenkron (HTTP/2) | socksio üzerinden Native | Yüksek verimli kazıyıcılar, FastAPI arka uçları |
| aiohttp | Asenkron G/Ç | aiohttp-socks aracılığıyla | Büyük ölçekli eşzamanlı web kazıyıcıları |
| Selenium | Tarayıcı WebDriver | Yerli bayraklar | Tek sayfalık uygulamalar, Cloudflare Turnstile, oturum açma akışları |
Kütüphane Kurulumu Talepleri
Python’daki requests kütüphanesinde, proxy’ler protokol şemalarını proxy uç nokta URL’sine eşleyen bir sözlük kullanılarak yapılandırılır. Her çağrıda ek yük ve TCP yeniden müzakeresini önlemek için her zaman bir requests.Session() nesnesi kullanın. Bir oturum, altta yatan bağlantı havuzunu yeniden kullanır ve çerezleri çağrılar arasında korur.
import requests
# 1. Define proxy credentials and endpoint
PROXIES = {
'http': 'http://user123:secret456@proxy.pxm2.io:8000',
'https': 'http://user123:secret456@proxy.pxm2.io:8000',
}
# 2. Initialize Session and mount proxies
session = requests.Session()
session.proxies.update(PROXIES)
# 3. Add realistic mobile browser headers
session.headers.update({
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15',
'Accept-Language': 'en-US,en;q=0.9',
})
# 4. Make requests through the dedicated mobile IP
response = session.get('https://ipinfo.io/json', timeout=15)
print(response.json())
To route requests through SOCKS5 with remote DNS resolution, install the SOCKS dependencies: pip install "requests[socks]". Then replace the proxy URLs with socks5h://user:pass@proxy.pxm2.io:1080.
httpx ve aiohttp Yapılandırması
Kazıyıcıları dakikada yüzlerce istek verecek şekilde ölçeklendirirken, senkron kod ağ yanıtlarını beklerken Python yorumlayıcısını bloke eder. httpx ve aiohttp, tek bir asenkron olay döngüsü üzerinde eşzamanlı isteklerin yapılmasına olanak tanır.
Asenkron Mobil Proxy'lerle httpx'i Kullanma
httpx, doğrudan AsyncClient üzerinde modern asenkron destek ve sade bir proxy yapılandırması sunar:
import asyncio
import httpx
async def fetch_ip():
proxy_url = "http://user123:secret456@proxy.pxm2.io:8000"
# Configure AsyncClient with custom timeouts and proxy
limits = httpx.Limits(max_keepalive_connections=20, max_connections=50)
async with httpx.AsyncClient(proxy=proxy_url, limits=limits, timeout=20.0) as client:
response = await client.get("https://api.ipify.org?format=json")
data = response.json()
print(f"Carrier IP: {data['ip']}")
asyncio.run(fetch_ip())
Selenium Proxy Kurulumu
For dynamic sites protected by advanced bot management or heavy JavaScript, Selenium drives a real Chrome or Chromium browser. However, Chrome's command-line --proxy-server flag does not support embedded credentials (e.g. user:pass@host). If credentials are passed on the flag, Chrome prompts for authentication with a GUI popup that stalls headless scripts.
Selenium kimlik doğrulaması için iki üretim çözümü bulunmaktadır: Sunucunuzu PXM2'de IP beyaz listesine eklemek ya da hafif bir arka plan Chrome uzantısı yüklemek.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
# Point to your dedicated PXM2 mobile modem (secured by IP whitelist)
options.add_argument('--proxy-server=http://proxy.pxm2.io:8000')
options.add_argument('--headless=new')
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(options=options)
driver.get('https://ipinfo.io')
print(driver.title)
driver.quit()
Python Proxy’de En İyi Uygulamalar
Mobil hücresel bağlantılar üzerinden hesapları kazıma veya yönetme sırasında istikrarı sağlamak için aşağıdaki temel mühendislik kurallarına uyun:
-
1. urllib3 Yeniden Denemeleriyle Üstel Geri Çekilme Yöntemini UygulamaHücresel ağlar, radyo geçişleri sırasında zaman zaman paket kaybına uğrar. 429, 502, 503 ve 504 hataları için “Retry” yapılandırmasına sahip bir HTTPAdapter eklenmesi, veri toplayıcıların çökmesini önler.
-
2. Açık Zaman Aşımları AyarlamaPython'da asla parametresiz istekler göndermeyin. Bir baz istasyonunda gecikme artışı meydana gelirse, zaman sınırı belirtilmemiş bir istek süresiz olarak askıda kalır. Bağlantı ve okuma zaman aşımları için her zaman bir tuple belirtin: timeout=(5.0, 25.0).
-
3. IP Dönüşümlerini Senkronize EtPython'dan PXM2 rotasyon webhook'unu çağırırken, aktif işçi iş parçacıklarını 5 ila 8 saniye boyunca duraklatın. Bu, modemin 4G/5G baz istasyonuyla bağlantısını kesmesi, yeni bir taşıyıcı IP'si için yeniden anlaşma yapması ve veri hizmetini yeniden kurması için zaman tanır.
Amerika Birleşik Devletleri
Birleşik Krallık
Fransa
Sık Sorulan Sorular
Python requests kütüphanesinde bir mobil proxy'yi nasıl yapılandırabilirim?
HTTP ve HTTPS protokollerini proxy URL’nize eşleyen bir proxy sözlüğü tanımlayın, ardından bunu requests.get() işlevine aktarın ya da bir requests.Session() örneğine ekleyin. Session kullanmak, altta yatan TCP bağlantılarını yeniden kullanır ve çağrılar arasında çerezleri korur.
Python requests, SOCKS5 mobil proxy'lerini destekliyor mu?
Evet, pip install requests[socks] komutuyla SOCKS desteği eklenerek kurulduğunda. Bu durumda, ana bilgisayar adının DNS çözümlemesinin yerel makineniz yerine proxy modem üzerinde gerçekleşmesini sağlamak için bir socks5h:// URL şeması belirtebilirsiniz.
Selenium’da uyarı pencereleri açılmadan proxy kimlik doğrulamasını nasıl halledebilirim?
Chrome, --proxy-server seçeneğindeki satır içi kullanıcı adı ve şifre bayraklarını doğal olarak desteklemez. Standart çözüm, chrome.webRequest.onAuthRequired olayını işleyen bir arka plan Chrome uzantısı kullanmak ya da PXM2 modemlerde IP beyaz listesi kullanmaktır.
Python ile veri kazıma sırasında IP rotasyonunu yönetmenin en iyi yolu nedir?
HTTP 429 ve 503 durum kodlarında yeniden deneme yapacak şekilde yapılandırılmış ve Oturumunuza eklenmiş urllib3 yeniden deneme adaptörlerini kullanın. İsteğe bağlı rotasyon yaparken, PXM2 rotasyon uç noktasına bir HTTP çağrısı gönderin, 5 ila 10 saniye bekleyin ve yeni taşıyıcı IP'siyle veri toplama işlemine devam edin.
httpx, mobil proxy otomasyonu konusunda requests ile karşılaştırıldığında nasıl bir performans sergiliyor?
httpx, httpx.AsyncClient aracılığıyla kullanıma hazır modern async/await sözdizimi, yerel HTTP/2 desteği ve sıkı bağlantı zaman aşımları sunar. Asenkron olay döngülerinin birden fazla hedefi eşzamanlı olarak işlediği yüksek verimli veri toplama görevleri için idealdir.
İlgili Mobil Proxy Kılavuzları
Diğer diller, ortamlar ve temel ağ mimarileriyle ilgili tamamlayıcı eğitimlere göz atın.
Geliştirici ve Otomasyon Kılavuzları
Platform ve Veri Toplama Kılavuzları
Özel Mobil IP’lerle Python İş Akışlarınızı Güçlendirin
Python requests, httpx ve Selenium’u gerçek 4G/5G operatör donanımına doğrudan bağlayın. Sınırsız döngü ve bant genişliği kısıtlaması yok.
Mobil Proxy Alın