Як налаштувати та використовувати проксі в Puppeteer

Коментарі: 0

Puppeteer - бібліотека для Node.js, яка використовує JavaScript для керування браузерами на базі ядра Chromium, включно з Google Chrome, Microsoft Edge, Opera і Brave. Вона дає змогу автоматизувати браузерні завдання, як-от навігація веб-сторінками, взаємодія з елементами інтерфейсу, генерація PDF-файлів, створення скріншотів, а також тестування сервісів. Однак найкраще Puppeteer себе проявляє в скрапінгу, оскільки бібліотека підтримує роботу в режимі headless, де браузер працює без відображення графічного інтерфейсу, що значно прискорює процес збору та аналізу веб-даних.

Надалі буде розглянуто, як налаштувати та використовувати проксі в Puppeteer для розкриття повного потенціалу цієї бібліотеки. Це особливо корисно для:

  • емуляції поведінки користувачів з різних пристроїв;
  • подолання антифрод-фільтрів і капчі, які активуються при великій кількості запитів з однієї IP-адреси за короткий період;
  • збільшення швидкості роботи за рахунок балансування навантаження на сервери;
  • обходу географічних блокувань і доступу до контенту, адаптованого під конкретний регіон або більш точне місце розташування.

Покрокове налаштування проксі в Puppeteer на JavaScript

Щоб додати проксі в Puppeteer дотримуйтесь наступної інструкції:

  1. Запустіть застосунок, у якому ви прописуватимете код, наприклад Microsoft Visual Studio, і виберіть бібліотеку JavaScript.
  2. Далі використовуйте наступний код:
    
    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" в аргументах запуску вказує браузеру, який проксі-сервер застосувати для всіх мережевих запитів. Ось що означають його частини:
    • --proxy-server: це прапор, який повідомляє браузеру, що потрібно використовувати проксі-сервер.
    • PROXY_IP: IP-адреса проксі-сервера.
    • PROXY_PORT: порт, який використовується проксі-сервером.

    Наприклад, якщо ваш проксі-сервер має IP-адресу 111.111.11.11 і порт 2020, тоді рядок коду матиме такий вигляд:

    
    args: ['--proxy-server=111.111.11.11 : 2020]
    
  4. Якщо ви використовуватимете приватний проксі-сервер, то вам потрібно вставити логін і пароль у рядок await page.authenticate({ username: 'PROXY_USERNAME', password: 'PROXY_PASSWORD' });. Наприклад, якщо ваш логін - myUser і пароль - myPass, то код міститиме наступне:
    
    
    await page.authenticate({ username: 'myUser', password: 'myPass' });
    
  5. Також можна задати стартову сторінку браузера змінивши рядок "const pageUrl = 'https://example.com/';", підставивши необхідний URL.

Це налаштування проксі в Puppeteer дає змогу спрямовувати весь трафік браузера через зазначений проксі-сервер, що може бути корисним для обходу геообмежень, поліпшення анонімності або розподілу навантаження під час веб-скрапінгу.

Коментарії:

0 Коментаріїв