DLACZEGO PUPPETEER + PROXY POLAND
Puppeteer to oficjalna biblioteka Node.js od Google do sterowania headless Chrome. W połączeniu z dedykowanymi mobilnymi proxy 4G Proxy Poland, Puppeteer staje się potężnym narzędziem do scrapowania, testowania i automatyzacji, które omija nawet najbardziej agresywne systemy anty-botowe.
INSTRUKCJE KONFIGURACJI
Zainstaluj Puppeteer
Zainstaluj Puppeteer w projekcie Node.js:
npm install puppeteer # or for minimal install: npm install puppeteer-core
Pobierz dane proxy
Zarejestruj się na proxypoland.com i pobierz IP proxy, port, login i hasło z panelu.
Podstawowa konfiguracja proxy
Uruchom Puppeteer z proxy 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();Alternatywa HTTP proxy
Użycie HTTP proxy z autentykacją:
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');Tryb stealth + proxy
Użyj puppeteer-extra do ukrytego przeglądania:
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');Rotacja IP między stronami
Rotuj IP za pomocą 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');Zweryfikuj działanie proxy
Szybki test potwierdzający połączenie proxy:
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 IPWSKAZÓWKI PRO
Użyj puppeteer-extra-plugin-stealth do stron z zaawansowaną detekcją botów
Ustaw viewport na wymiary mobilne do scrapowania specyficznego dla mobile
Zaimplementuj przechwytywanie żądań, aby blokować zbędne zasoby (obrazy, CSS) dla szybszego scrapowania
Użyj page.waitForNavigation() po akcjach, aby upewnić się, że strony w pełni się załadowały przez proxy
Dla wysokiej współbieżności uruchom wiele instancji przeglądarki z różnymi proxy
DZIAŁA ŚWIETNIE DO
FAQ
Czy Puppeteer jest lepszy od Selenium do użycia z proxy?+
Puppeteer ma natywne wsparcie proxy, które jest łatwiejsze w konfiguracji niż Selenium. Ma też wbudowany page.authenticate() do autentykacji proxy. Do projektów Node.js Puppeteer jest zazwyczaj lepszym wyborem.
Czy mogę uruchomić Puppeteer w trybie headless z tymi proxy?+
Tak. Użyj headless: 'new' w opcjach uruchomienia. Proxy działa identycznie w trybie headless i headed. Dla stealth dodaj puppeteer-extra-plugin-stealth.
Jak obsłużyć CAPTCHA przy scrapowaniu przez mobilne proxy?+
Mobilne IP znacząco redukują częstotliwość CAPTCHA. Większość stron serwuje mniej CAPTCHA mobilnym IP operatorów. Dla pozostałych CAPTCHA zintegruj usługę rozwiązywania jak 2Captcha lub użyj pluginów stealth.
Czy mogę uruchomić wiele instancji Puppeteer z różnymi proxy?+
Tak. Uruchom oddzielne instancje przeglądarki, każdą z innym proxy Proxy Poland w argumentach. To idealne rozwiązanie do równoległego scrapowania z izolacją IP.
A co z Playwright — czy też działa z tymi proxy?+
Tak. Playwright ma wbudowane wsparcie proxy: browser.launch({ proxy: { server: 'socks5://ip:port', username: 'user', password: 'pass' } }). Te same dane proxy działają zarówno z Puppeteer, jak i Playwright.