Playwright ile Proxy Kullanımı (Modern Browser Automation)
1 viewsPlaywright ile Proxy Kullanımı
Playwright, Microsoft tarafından geliştirilen modern bir tarayıcı otomasyon kütüphanesidir. Selenium’a göre daha hızlı, daha kararlı ve daha az tespit edilebilir olması nedeniyle birçok geliştirici tarafından tercih edilmektedir.
Bu makalede Playwright ile proxy kullanımını adım adım anlatacağız.
1. Playwright Kurulumu
Bash
pip install playwright playwright install
2. Playwright ile Proxy Ayarlama (Temel)
Python
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch( proxy={ "server": "http://proxy_ip:proxy_port", # "username": "kullanici_adi", # "password": "sifre" } ) context = browser.new_context() page = context.new_page() page.goto("https://httpbin.org/ip") print(page.content()) browser.close()
3. Proxy Kimlik Doğrulama ile Kullanım
Python
from playwright.sync_api import sync_playwright proxy_config = { "server": "http://proxy_ip:proxy_port", "username": "kullanici_adi", "password": "sifre" } with sync_playwright() as p: browser = p.chromium.launch(proxy=proxy_config) context = browser.new_context() page = context.new_page() page.goto("https://httpbin.org/ip") print(page.content()) browser.close()
4. SOCKS5 Proxy Kullanımı
Playwright SOCKS5 proxy’yi de destekler:
Python
proxy_config = { "server": "socks5://proxy_ip:1080", "username": "kullanici_adi", "password": "sifre" } with sync_playwright() as p: browser = p.chromium.launch(proxy=proxy_config) context = browser.new_context() page = context.new_page() page.goto("https://httpbin.org/ip") browser.close()
5. Tam Fonksiyonel Örnek
Python
from playwright.sync_api import sync_playwright import random PROXIES = [ {"server": "http://proxy1:8080"}, {"server": "http://kullanici:sifre@proxy2:3128"}, {"server": "socks5://proxy3:1080"} ] def create_browser_with_proxy(): proxy = random.choice(PROXIES) with sync_playwright() as p: browser = p.chromium.launch( proxy=proxy, headless=False # Geliştirme aşamasında False yapabilirsiniz ) context = browser.new_context( user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..." ) page = context.new_page() return browser, page # Kullanım browser, page = create_browser_with_proxy() page.goto("https://httpbin.org/ip") print(page.content()) browser.close()
6. Playwright vs Selenium Karşılaştırması (Proxy Açısından)
| Özellik | Playwright | Selenium | Kazanan |
|---|---|---|---|
| Hız | Daha hızlı | Daha yavaş | Playwright |
| Proxy Kurulumu | Daha basit ve temiz | Daha karmaşık | Playwright |
| Tespit Edilme Riski | Daha düşük | Daha yüksek | Playwright |
| Browser Desteği | Chromium, Firefox, WebKit | Çeşitli | Berabere |
| Proxy Kimlik Doğrulama | Doğrudan destekler | Ekstra eklenti veya kütüphane gerekir | Playwright |
| Modern Web Siteleri | Daha iyi destek | Daha fazla sorun | Playwright |
7. En İyi Uygulamalar
- Playwright’ta proxy ayarı launch sırasında yapılır (daha temiz yapı).
- user_agent parametresini mutlaka özelleştirin.
- Headless modda çalışırken ekstra önlemler alın (bazı siteler headless’ı tespit eder).
- Proxy rotasyonu yapıyorsanız her yeni tarayıcı instance’ında farklı proxy kullanın.
- Residential ve Mobile proxy’ler Playwright ile çok daha iyi sonuç verir.
Sonuç
Playwright, proxy kullanımı açısından Selenium’a göre daha modern, daha temiz ve daha az tespit edilebilir bir alternatiftir. Özellikle yeni projelerde Playwright kullanmanızı şiddetle tavsiye ederiz.
Bir sonraki ve son makalemizde Proxy ile API Otomasyonu ve Rate Limiting konusunu detaylı olarak inceleyeceğiz.