SeleniumBase ile Proxy Nasıl Kullanılır?

selenium proxy

SeleniumBase, Selenium’i bir test ortamında çalıştırmak için tasarlanmış bir araçtır ve kimlik doğrulamalı proxy’leri destekler. Bu özellik, web kazıma işlemlerinde kısıtlamaları aşmanıza ve başarı oranınızı artırmanıza yardımcı olur.

Selenium’da Proxy Kullanımıyla İlgili Sorunlar

Selenium, proxy desteği konusunda sınırlıdır. Özellikle kimlik doğrulamalı proxy’leri desteklemez. Daha önce, proxy’lerle çalışmak için yaygın olarak kullanılan SeleniumWire aracı, bir yıldan uzun süredir güncellenmemiştir ve artık önerilmemektedir.

Başlarken

Öncelikle, SeleniumBase’i kurmamız ve bir test vakası yazmamız gerekir. Test vakası, Selenium’u kontrol eder ve webdriver örneğimizi çalıştırır.

Kurulum

SeleniumBase’i aşağıdaki komutla kurabilirsiniz:

pip install seleniumbase

Test edelim

Aşağıda basit bir test sonucu bulunmaktadır. Bu kod, IPinfo API’sine bir istek gönderir ve alınan JSON yanıtını ayrıştırarak içeriğini konsola yazdırır.

from seleniumbase import BaseCase
from selenium.webdriver.common.by import By
import json

class ProxyTest(BaseCase):
    def test_proxy(self):
        # Siteye git
        self.driver.get("https://ipinfo.io/json")
      
        # JSON yanıtını yükle
        location_info = json.loads(self.driver.find_element(By.TAG_NAME, "body").text)

        # Sözlük içeriğini yazdır
        for k, v in location_info.items():
            print(f"{k}: {v}")

Testi Başlatalım

Kodumuzu çalıştırmak için pytest kullanacağız. Testinizi proxy kullanmadan çalıştırmak isterseniz, aşağıdaki komutu kullanabilirsiniz:

Proxy olmadan çalıştırma

pytest proxy_test.py -s

Bu komut, IP adresi ve konum bilgilerinizi konsola yazdıracaktır.

Proxy ile çalıştırma:

Bir proxy kullanarak testi çalıştırmak için aşağıdaki komutu kullanabilirsiniz:

pytest proxy_test.py --username:poassword@proxy.proxynet.io:8000 -s

Bu komut, trafiğinizi belirtilen proxy üzerinden yönlendirir ve IP adresinizin değiştiğini konsolda görebilirsiniz.

=================================================== test session starts ===================================================
platform linux -- Python 3.10.12, pytest-8.3.4, pluggy-1.5.0
rootdir: /home/nultinator/clients/bright-data/seleniumbase-proxies
plugins: html-4.0.2, metadata-3.1.1, anyio-4.0.0, seleniumbase-4.34.6, ordering-0.6, rerunfailures-15.0, xdist-3.6.1
collected 1 item

proxy_test.py ip: 144.202.4.246
hostname: 144-202-4-246.lum-int.io
city: Piscataway
region: New Jersey
country: US
loc: 40.4993,-74.3990
org: AS20473 The Constant Company, LLC
postal: 08854
timezone: America/New_York
readme: https://ipinfo.io/missingauth
.

==================================================== 1 passed in 3.25s ====================================================

Bu komut, trafiğinizi bir proxy üzerinden yönlendirir ve IP adresinizin farklı bir lokasyonda olduğunu konsolda görebilirsiniz.

Proxy Döndürme

Python’un temel özelliklerini kullanarak etkili bir proxy döndürme sistemi oluşturabilirsiniz. Aşağıdaki kod, belirli ülke kodlarını kullanarak proxy’leri döndürür:

import subprocess

# Ülke kodları listesi
countries = [
    "us",  # Amerika Birleşik Devletleri
    "es",  # İspanya
    "il",  # İsrail
    "gb",  # Büyük Britanya
]

# Ülkeler arasında döngü yap ve her biri için bir komut oluştur
for country in countries:
    command = f"pytest proxy_test.py --proxy=brd-customer-<KULLANICI_ADINIZ>-<BÖLGE_ADINIZ>-country-{country}:<ŞİFRENİZ>@brd.superproxy.io:33335 -s"

    # Komutu çalıştır
    subprocess.run(command, shell=True)

Ayrıca geçmişte yazdığımız Pyhton ile Proxy Döndürme makalemize buradan da göz atabilirsiniz.

Bu kod, belirtilen ülkelerdeki proxy’leri kullanarak testi sırayla çalıştırır ve her seferinde farklı bir IP adresi kullanmanızı sağlar.

Sonuç

Bu rehberde, SeleniumBase ile proxy kullanımını, konum kontrolünü ve proxy döndürmeyi öğrendiniz. Bu araçlar, web kazıma işlemlerinizde karşılaşabileceğiniz engelleri aşmanıza yardımcı olacaktır.

Selenium tabanlı kazıma işlemlerinizde Bright Data’nın endüstri lideri proxy hizmetleriyle tam potansiyelinizi ortaya çıkarın. Bugün ücretsiz denemenizi başlatın ve sorunsuz, güvenilir veri toplamanın keyfini çıkarın!

SeleniumBase’de başlıca hangi proxy server ürünlerimizi kullanabilirsiniz?