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:
Keuntungan-keuntungan ini menggarisbawahi pentingnya mengintegrasikan manajemen proksi dalam pengaturan Puppeteer untuk memastikan tugas-tugas pengikisan dan otomatisasi web yang sukses dan efisien.
Untuk menambahkan proxy ke Puppeteer dan mengonfigurasinya agar dapat digunakan, ikuti langkah-langkah yang disederhanakan 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();
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]
await page.authenticate({ username: 'myUser', password: 'myPass' });
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