ЧОМУ PUPPETEER + PROXY POLAND
Puppeteer — офіційна бібліотека Node.js від Google для керування headless Chrome. У поєднанні з виділеними мобільними проксі 4G від Proxy Poland Puppeteer стає потужним інструментом для веб-скрейпінгу, тестування та автоматизації, що обходить навіть найагресивніші антибот-системи.
ІНСТРУКЦІЯ З НАЛАШТУВАННЯ
Встановіть Puppeteer
Встановіть Puppeteer у вашому проєкті Node.js:
npm install puppeteer # or for minimal install: npm install puppeteer-core
Отримайте дані проксі
Зареєструйтеся на proxypoland.com та отримайте IP проксі, порт, логін та пароль з панелі керування.
Базове налаштування проксі
Запустіть Puppeteer з SOCKS5 проксі:
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch({
args: [
'--proxy-server=socks5://proxy-ip:port',
'--no-sandbox',
],
});
const page = await browser.newPage();
// Authenticate with proxy
await page.authenticate({
username: 'your-username',
password: 'your-password',
});
await page.goto('https://httpbin.org/ip');
const content = await page.content();
console.log(content);
await browser.close();Альтернатива з HTTP проксі
Використання HTTP проксі з автентифікацією:
const browser = await puppeteer.launch({
args: ['--proxy-server=http://proxy-ip:port'],
});
const page = await browser.newPage();
await page.authenticate({
username: 'your-username',
password: 'your-password',
});
await page.goto('https://example.com');Режим Stealth + проксі
Використовуйте puppeteer-extra для стелс-браузингу:
const puppeteer = require('puppeteer-extra');
const StealthPlugin =
require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
const browser = await puppeteer.launch({
args: ['--proxy-server=socks5://proxy-ip:port'],
headless: 'new',
});
const page = await browser.newPage();
await page.authenticate({
username: 'user', password: 'pass'
});
// Now scrape with stealth + mobile proxy
await page.goto('https://target-site.com');Ротація IP між сторінками
Ротація IP через API Proxy Poland:
const axios = require('axios');
async function rotateIP() {
const response = await axios.get(
'https://proxy-ip:port/rotate',
{ auth: { username: 'user', password: 'pass' } }
);
console.log('New IP:', response.data);
}
// Rotate between scraping sessions
await rotateIP();
await page.goto('https://next-target.com');Перевірка роботи проксі
Швидкий тест для підтвердження підключення проксі:
const page = await browser.newPage();
await page.authenticate({
username: 'user', password: 'pass'
});
await page.goto('https://httpbin.org/ip');
const ip = await page.$eval(
'pre', el => el.textContent
);
console.log('Proxy IP:', JSON.parse(ip).origin);
// Should show Polish mobile IPПРОФЕСІЙНІ ПОРАДИ
Використовуйте puppeteer-extra-plugin-stealth для сайтів з просунутим виявленням ботів
Встановіть viewport на мобільні розміри для мобільно-специфічного скрейпінгу
Реалізуйте перехоплення запитів для блокування непотрібних ресурсів (зображень, CSS) для прискорення скрейпінгу
Використовуйте page.waitForNavigation() після дій для повного завантаження сторінок через проксі
Для високої паралельності запускайте кілька екземплярів браузера з різними проксі
ЧУДОВО ПІДХОДИТЬ ДЛЯ
FAQ
Puppeteer кращий за Selenium для роботи з проксі?+
Puppeteer має нативну підтримку проксі, яку легше налаштувати, ніж у Selenium. У нього також є вбудований page.authenticate() для автентифікації проксі. Для проєктів на Node.js Puppeteer зазвичай кращий вибір.
Чи можна запускати Puppeteer в headless-режимі з цими проксі?+
Так. Використовуйте headless: 'new' в опціях запуску. Проксі працює ідентично в headless та headed режимах. Для стелсу додайте puppeteer-extra-plugin-stealth.
Як обробляти CAPTCHA при скрейпінгу через мобільні проксі?+
Мобільні IP значно знижують частоту CAPTCHA. Більшість сайтів показують менше CAPTCHA мобільним IP операторів. Для CAPTCHA, що залишилися, інтегруйте сервіс розв'язання, наприклад 2Captcha, або використовуйте стелс-плагіни.
Чи можна запускати кілька екземплярів Puppeteer з різними проксі?+
Так. Запускайте окремі екземпляри браузера, кожен з іншим проксі Proxy Poland в аргументах. Це ідеально для паралельного скрейпінгу з ізоляцією IP.
А як щодо Playwright — чи працює він з цими проксі?+
Так. Playwright має вбудовану підтримку проксі: browser.launch({ proxy: { server: 'socks5://ip:port', username: 'user', password: 'pass' } }). Ті самі дані проксі працюють і з Puppeteer, і з Playwright.