Selenium veya Puppeteer ile Ücretsiz Proxy'ler Nasıl Kullanılır?

Selenium veya Puppeteer ile Ücretsiz Proxy'ler Nasıl Kullanılır?

Web Otomasyonunda Proxy'leri Anlamak

Proxy'ler, internetin gizli ajanları gibi davranarak IP adresinizi maskeler ve dijital sınırları incelikle aşmanızı sağlar. Web otomasyonu bağlamında – Selenium ve Puppeteer'ın tarayıcının sahnesinde dans ettiği yerde – proxy'ler, hız sınırlamalarını, coğrafi kısıtlamaları ve gözetimi aşmak için vazgeçilmezdir. Ücretsiz proxy'ler, kaprisli ve geçici olsalar da, hafif, kritik olmayan veri toplama veya test senaryoları için yeterli olabilir.

Proxy Türleri ve Özellikleri

Proxy Türü Anonimlik Seviyesi Desteklenen Protokoller Tipik Kullanım Senaryosu Güvenilirlik
HTTP Düşük ila Orta HTTP, HTTPS Basit web kazıma Düşük
SOCKS4/5 Yüksek SOCKS4, SOCKS5 Karmaşık protokoller, HTTPS Orta
Şeffaf Yok (IP adresini gösterir) HTTP, HTTPS Önbellekleme, dahili kullanım Çok Düşük
Seçkin/Anonim Yüksek HTTP, HTTPS Coğrafi engelleri aşmak Orta

Ücretsiz proxy listelerinin bir derlemesi için lütfen inceleyin. https://free-proxy-list.net/ veya https://www.sslproxies.org/.

Selenium ile Ücretsiz Proxy Kullanımı (Python)

1. Bağımlılıkların Kurulumu

pip selenyum kurulumu

En son sürümü indirin ChromeDriver Chrome sürümünüzle uyumludur.

2. Selenium'da Proxy Yapılandırma

Bu dijital kukla olan tarayıcıya şu şekilde komut verilebilir:

from selenium import webdriver from selenium.webdriver.chrome.options import Options proxy = "186.121.235.66:8080" # Bunu kendi ücretsiz proxy adresinizle değiştirin options = Options() options.add_argument(f'--proxy-server=http://{proxy}') driver = webdriver.Chrome(options=options) driver.get('https://httpbin.org/ip') print(driver.page_source) driver.quit()

Tablo: Chrome'da Sık Kullanılan Proxy Ayarları

Seçenek Tanım
--proxy-sunucusu=http://IP:PORT HTTP proxy ayarlarını yapın
--proxy-sunucusu=https=IP:PORT HTTPS proxy ayarlarını yapın.
--proxy-bypass-list=localhost;127.0.0.1 Vekil sunucudan adresleri hariç tut

3. Kimlik Doğrulama ile Proxy Kullanımı

Kimlik doğrulamalı ücretsiz proxy'ler nadir bulunan değerli eşyalardır, ancak birine denk gelirseniz:

from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # Kimlik doğrulamalı proxy'ler, Chrome uzantısı geçici çözümü gerektirir from selenium.webdriver.common.by import By import zipfile proxy_host = 'proxy.example.com' proxy_port = 8000 proxy_user = 'user' proxy_pass = 'pass' manifest_json = """ { "version": "1.0.0", "manifest_version": 2, "name": "Chrome Proxy", "permissions": [ "proxy", "tabs", "unlimitedStorage", "storage", " ", "webRequest", "webRequestBlocking" ], "background": { "scripts": ["background.js"] } } """ background_js = f""" var config = {{ mode: "fixed_servers", rules: {{ singleProxy: {{ scheme: "http", host: "{proxy_host}", port: parseInt({proxy_port}) }}, bypassList: ["localhost"] }} }}; chrome.proxy.settings.set({{value: config, scope: "regular"}}, function() {{}}); function callbackFn(details) {{ return {{ authCredentials: {{ username: "{proxy_user}", password: "{proxy_pass}" }} }}; }} chrome.webRequest.onAuthRequired.addListener( geri çağrı fonksiyonu, {{url'ler: [" "]}}, ['engelleme'] ); """ # Proxy uzantı eklentisini oluşturun pluginfile = 'proxy_auth_plugin.zip' with zipfile.ZipFile(pluginfile, 'w') as zp: zp.writestr("manifest.json", manifest_json) zp.writestr("background.js", background_js) chrome_options = Options() chrome_options.add_extension(pluginfile) driver = webdriver.Chrome(options=chrome_options) driver.get('https://httpbin.org/ip')

Referans: Selenium Proxy Kimlik Doğrulaması (GitHub Gist)

Puppeteer (Node.js) ile Ücretsiz Proxy Kullanımı

1. Puppeteer'ı Kurma

npm kuklacıyı kurun

2. Puppeteer'ı Bir Proxy ile Başlatma

Tarayıcının yeni maskesini takmasına izin verelim:

const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ args: ['--proxy-server=http://186.121.235.66:8080'] }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); const body = await page.content(); console.log(body); await browser.close(); })();

3. Vekil Sunucu Kimlik Doğrulamasının Yönetimi

Güvenlik görevlisi kimlik bilgilerini istediğinde:

const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ args: ['--proxy-server=http://proxy.example.com:8000'] }); const page = await browser.newPage(); await page.authenticate({ username: 'user', password: 'pass' }); await page.goto('https://httpbin.org/ip'); const body = await page.content(); console.log(body); await browser.close(); })();

4. Puppeteer'da Proxy'leri Döndürme

Geçici kimliklerin balesi, işte böyle sahnelenmiş:

const proxys = [ 'http://proxy1:port', 'http://proxy2:port', 'http://proxy3:port' ]; const puppeteer = require('puppeteer'); (async () => { for (const proxy of proxys) { const browser = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); const body = await page.content(); console.log(`Proxy: ${proxy}\n${body}\n`); await browser.close(); } })();

Ücretsiz Proxy Kaynakları

İsim URL Özellikler
Ücretsiz Proxy Listesi https://free-proxy-list.net/ Geniş HTTP/S listesi, güncellendi.
SSL Proxy'leri https://www.sslproxies.org/ HTTPS proxy'leri, hızlı güncelleme
Proxy Kazıma https://proxyscrape.com/free-proxy-list Çoklu protokoller
Casuslar.bir http://spys.one/en/ Gelişmiş filtreleme

En İyi Uygulamalar ve Sınırlamalar

  • Geçici Doğa: Ücretsiz proxy'ler genellikle haber vermeden ortadan kaybolur; bunların aktif olup olmadığını aşağıdaki gibi araçlar kullanarak takip edin. Proxy Denetleyicisi.
  • Hız ve Güvenilirlik: Gecikmeler, zaman aşımı ve ara sıra çıkmaz sokaklarla karşılaşmayı bekleyin.
  • Güvenlik: Hassas hesaplarınız için asla ücretsiz proxy kullanmayın; ortadaki adam saldırıları her an pusuda bekleyebilir.
  • Hukuki ve Etik Hususlar: Robots.txt dosyasına ve hizmet şartlarına her zaman saygı gösterin.

Proxy Doğrulama Örneği (Python)

Tarayıcınızı çalıştırmadan önce, proxy'nin durumunu test edin:

import requests proxy = "186.121.235.66:8080" proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"} try: response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=5) print(response.json()) except Exception as e: print(f"Proxy failed: {e}")

Kaynak Bağlantıları

Teofil Beauvais

Teofil Beauvais

Vekalet Analisti

Théophile Beauvais, ProxyMist'te 21 yaşında bir Proxy Analistidir ve burada dünya çapındaki proxy sunucularının kapsamlı listelerini düzenleme ve güncelleme konusunda uzmanlaşmıştır. Teknoloji ve siber güvenliğe doğuştan gelen bir yeteneğe sahip olan Théophile, ekibin önemli bir üyesi haline gelerek dünya çapındaki kullanıcılara ücretsiz olarak güvenilir SOCKS, HTTP, elite ve anonim proxy sunucuların teslim edilmesini sağlamıştır. Güzel Lyon şehrinde doğup büyüyen Théophile'in dijital gizlilik ve inovasyona olan tutkusu genç yaşta başlamıştır.

Yorumlar (0)

Burada henüz yorum yok, ilk siz olabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir