Интеграция прокси Puppeteer с Bright Data

В этой статье мы расскажем, как настроить параметры прокси Puppeteer и интегрировать его с IP Bright Data.

Puppeteer — это библиотека Node, созданная для управления безголовыми и не безголовыми Chrome и Chromium с помощью высокоуровневого API.

Интеграция Bright Data Super Proxy и Puppeteer

  • Начните с перехода на дашборд Bright Data и выберите «Создать зону»
  • Нажмите «Тип сети» и затем – «Сохранить».
  • В Puppeteer заполните ‘IP-адрес прокси: порт’ в значении ‘proxy-server’, напримерzproxy.lum-superproxy.io:22225.
  • В поле ‘page.authenticate’ введите ID профиля Bright Data и имя прокси-зоны в значении «имя пользователя», например:lum-customer-CUSTOMER-zone-YOURZONE и пароль вашей зоны (найдете в настройках).
  • Например:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    args: ['--proxy-server=zproxy.lum-superproxy.io:22225']
  });
  const page = await browser.newPage();
    await page.authenticate({
        username: 'lum-customer-USERNAME-zone-YOURZONE',
        password: 'PASSWORD'
    });
    await page.goto('http://lumtest.com/myip.json');
    await page.screenshot({path: 'example.png'});
    await browser.close();
})();

Интеграция прокси-менеджера и Puppeteer

  • Создайте зону с сетью, типом и количеством IP, которые планируете использовать.
  • Установите Proxy Manager.
  • Нажмите «Добавить новый прокси». Укажите нужную вам зону и настройки, нажмите «Сохранить».
  • В Puppeteer в разделе «Прокси-сервер» введите свой локальный IP-адрес и порт прокси-менеджера (например, 127.0.0.1:24000)
    • IP-адрес локального хоста 127.0.0.1
    • Порт, созданный в Proxy Manager, равен 24XXX, например, 24000
  • Ничего не пишите в поле имя пользователя и пароль, поскольку Proxy Manager прошел аутентификацию с помощью Super Proxy.
  • Например:
const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({
        headless: false,
        args: ['--proxy-server=127.0.0.1:24000']
    });
    const page = await browser.newPage();
    await page.authenticate();
    await page.goto('http://lumtest.com/myip.json');
    await page.screenshot({path: 'example.png'});
    await browser.close();
})();