Cara mengatur dan menggunakan proxy di Puppeteer

Komentar: 0

Puppeteer adalah pustaka Node.js yang memungkinkan JavaScript untuk mengontrol peramban berbasis Chromium seperti Google Chrome, Microsoft Edge, Opera, dan Brave. Ini sangat berguna untuk mengotomatiskan tugas-tugas peramban seperti menavigasi halaman, berinteraksi dengan elemen antarmuka, menghasilkan file PDF, mengambil tangkapan layar, dan melakukan tes layanan. Salah satu fitur utama Puppeteer adalah dukungannya untuk mode tanpa kepala, di mana peramban beroperasi tanpa antarmuka grafis. Mode ini optimal untuk scraping web karena secara signifikan meningkatkan kecepatan pengumpulan dan analisis data.

Selanjutnya, kita akan mengeksplorasi cara mengatur dan menggunakan proxy di Puppeteer, sebuah langkah penting untuk memaksimalkan kemampuan library ini. Memanfaatkan proksi bermanfaat untuk beberapa alasan:

  • Menirukan perilaku pengguna: dengan mensimulasikan tindakan dari perangkat dan alamat IP yang berbeda, Anda dapat meniru pengalaman penelusuran yang lebih alami;
  • Melewati langkah-langkah anti-penipuan dan Captcha: proksi dapat membantu menghindari deteksi ketika membuat banyak permintaan dari satu alamat IP dalam waktu singkat, yang dapat memicu langkah-langkah keamanan seperti captcha;
  • Penyeimbangan beban: mendistribusikan permintaan ke beberapa server dapat meningkatkan kecepatan dan efisiensi scraping;
  • Mengatasi pembatasan geografis: proksi memungkinkan akses ke konten khusus wilayah dengan melewati blok geografis, memungkinkan pengumpulan data yang dilokalkan.

Keuntungan-keuntungan ini menggarisbawahi pentingnya mengintegrasikan manajemen proksi dalam pengaturan Puppeteer untuk memastikan tugas-tugas pengikisan dan otomatisasi web yang sukses dan efisien.

Penyiapan proxy langkah demi langkah di Puppeteer menggunakan JavaScript

Untuk menambahkan proxy ke Puppeteer dan mengonfigurasinya agar dapat digunakan, ikuti langkah-langkah yang disederhanakan ini:

  1. Luncurkan lingkungan pengembangan Anda, seperti Microsoft Visual Studio, dan pilih perpustakaan JavaScript.
  2. Gunakan kode berikut ini:
    
    
    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. Argumen --proxy-server=PROXY_IP:PROXY_PORT mengonfigurasi browser untuk menggunakan proxy yang ditentukan.
    • --proxy-server: ini adalah bendera yang digunakan dalam argumen baris perintah untuk menunjukkan bahwa peramban harus merutekan permintaan jaringan melalui server proxy.
    • PROXY_IP: ganti ini dengan alamat IP sebenarnya dari server proxy yang ingin Anda gunakan.
    • PROXY_PORT: gantilah ini dengan nomor port di mana server proxy Anda dikonfigurasi untuk menerima koneksi.

    Sebagai contoh, jika proxy Anda berada di IP 111.111.11.11 dan port 2020, maka kodenya akan terlihat seperti:

    
    args: ['--proxy-server=111.111.11.11 : 2020]
    
  4. Untuk menggunakan server proxy pribadi, Anda harus memberikan detail autentikasi. Masukkan kredensial login Anda ke dalam metode page.authenticate. Misalnya, jika nama pengguna Anda adalah myUser dan kata sandi Anda adalah myPass, perbarui kode sebagai berikut:
    await page.authenticate({ username: 'myUser', password: 'myPass' }); 
  5. Untuk menentukan halaman awal untuk browser, ubah variabel pageUrl. Ganti URL default dengan URL yang Anda butuhkan. Misalnya, untuk mengatur halaman awal ke https://example.com/, kodenya adalah:
    const pageUrl = 'https://example.com/'; await page.goto(pageUrl); 

Menggunakan proxy di Puppeteer untuk merutekan semua lalu lintas peramban melalui server tertentu bisa sangat berguna. Proxy memungkinkan Anda untuk menerobos batasan geografis, meningkatkan anonimitas online, dan menyeimbangkan beban selama aktivitas web scraping.

Komentar:

0 komentar