В этой статье мы расскажем, как настроить параметры прокси 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();
})();