Puppeteer'da bir proxy nasıl kurulur ve kullanılır

Yorumlar: 0

Puppeteer, JavaScript'in Google Chrome, Microsoft Edge, Opera ve Brave gibi Chromium tabanlı tarayıcıları kontrol etmesini sağlayan bir Node.js kütüphanesidir. Özellikle sayfalarda gezinme, arayüz öğeleriyle etkileşim kurma, PDF dosyaları oluşturma, ekran görüntüsü alma ve hizmet testleri gerçekleştirme gibi tarayıcı görevlerini otomatikleştirmek için kullanışlıdır. Puppeteer'ın en önemli özelliklerinden biri, tarayıcının grafik arayüzü olmadan çalıştığı başsız modu desteklemesidir. Bu mod, veri toplama ve analiz hızını önemli ölçüde artırdığı için web kazıma için idealdir.

Daha sonra, bu kütüphanenin yeteneklerini en üst düzeye çıkarmak için çok önemli bir adım olan Puppeteer'da proxy'lerin nasıl kurulacağını ve kullanılacağını keşfedeceğiz. Proxy kullanmak birkaç nedenden dolayı faydalıdır:

  • Kullanıcı davranışını taklit etme: farklı cihazlardan ve IP adreslerinden gelen eylemleri simüle ederek, daha doğal bir tarama deneyimini taklit etmek mümkün hale gelir;
  • Dolandırıcılık karşıtı önlemleri ve Captcha'ları atlamak: proxy'ler, kısa bir süre içinde tek bir IP adresinden çok sayıda istek yapıldığında tespit edilmekten kaçınmaya yardımcı olabilir, bu da captcha'lar gibi güvenlik önlemlerini tetikleyebilir;
  • Yük dengeleme: istekleri birden fazla sunucuya dağıtmak kazıma hızını ve verimliliğini artırabilir;
  • Coğrafi kısıtlamaların üstesinden gelmek: proxy'ler coğrafi engelleri aşarak bölgeye özgü içeriğe erişim sağlar ve yerelleştirilmiş verilerin toplanmasına olanak tanır.

Bu avantajlar, başarılı ve verimli web kazıma ve otomasyon görevleri sağlamak için Puppeteer kurulumlarına proxy yönetimini entegre etmenin önemini vurgular.

Puppeteer'da JavaScript kullanarak adım adım proxy kurulumu

Puppeteer'a bir proxy eklemek ve kullanmak üzere yapılandırmak için aşağıdaki basitleştirilmiş adımları izleyin:

  1. Microsoft Visual Studio gibi geliştirme ortamınızı başlatın ve JavaScript kitaplığını seçin.
  2. Aşağıdaki kodu kullanın:
    
    
    const puppeteer = require('puppeteer');
    
    async function run() {
    const browser = await puppeteer.launch({
    headless: false,
    args: ['--proxy-server=PROXY_IP:PROXY_PORT']
    });
    const page = await browser.newPage();
    
    const pageUrl = 'https://example.com/';
    
    // Adding proxy authentication
    
    await page.authenticate({ username: 'PROXY_USERNAME', password: 'PROXY_PASSWORD' });
    await page.goto(pageUrl);
    }
    
    run();
     
  3. --proxy-server=PROXY_IP:PROXY_PORT bağımsız değişkeni tarayıcıyı belirtilen proxy'yi kullanacak şekilde yapılandırır.
    • --proxy-server: bu, tarayıcının ağ isteklerini bir proxy sunucusu üzerinden yönlendirmesi gerektiğini belirtmek için komut satırı argümanında kullanılan bir bayraktır.
    • PROXY_IP: Bunu, kullanmayı düşündüğünüz proxy sunucusunun gerçek IP adresi ile değiştirin.
    • PROXY_PORT: Bunu, proxy sunucunuzun bağlantıları almak üzere yapılandırıldığı bağlantı noktası numarası ile değiştirin.

    Örneğin, proxy'niz 111.111.11.11 IP'sinde ve 2020 bağlantı noktasındaysa, kod aşağıdaki gibi görünecektir:

    args: ['--proxy-server=111.111.11.11 : 2020]
  4. Özel bir proxy sunucusu kullanmak için kimlik doğrulama bilgilerini sağlamalısınız. Oturum açma kimlik bilgilerinizi page.authenticate yöntemine ekleyin. Örneğin, kullanıcı adınız myUser ve parolanız myPass ise kodu aşağıdaki gibi güncelleyin:
    await page.authenticate({ username: 'myUser', password: 'myPass' });
  5. Tarayıcı için bir başlangıç sayfası belirtmek için pageUrl değişkenini değiştirin. Varsayılan URL'yi ihtiyacınız olan URL ile değiştirin. Örneğin, başlangıç sayfasını https://example.com/ olarak ayarlamak için kod şöyle olacaktır:
    const pageUrl = 'https://example.com/'; await page.goto(pageUrl);

Tüm tarayıcı trafiğini belirli bir sunucu üzerinden yönlendirmek için Puppeteer'da bir proxy kullanmak son derece yararlı olabilir. Coğrafi kısıtlamaları atlamanıza, çevrimiçi anonimliği artırmanıza ve web kazıma etkinlikleri sırasında yükü dengelemenize olanak tanır.

Yorumlar:

0 yorumlar