JAK UŻYWAĆ PROXY POLAND Z PUPPETEER
Przykłady kodu Node.js do automatyzacji headless Chrome z dedykowanymi mobilnymi proxy 4G/5G. Opisuje zalecany protokół, format danych logowania, proces rotacji, krok weryfikacji oraz praktyczne przypadki, w których dedykowane polskie IP mobilne zwiększa niezawodność automatyzacji, scrapingu lub pracy na kontach produkcyjnych.
W Puppeteer proxy najlepiej ustawić przewidywalnie: podać serwer przy starcie przeglądarki, uwierzytelnić się przed pierwszą nawigacją i trzymać jeden endpoint dla jednego przebiegu testu. Proxy Poland pozwala kierować ruch przez Polskę przy sprawdzaniu lokalnych wyników, stron regionalnych i procesów kont. Warto logować błędy proxy osobno, bo inaczej nieudane połączenie może wyglądać jak problem z selektorem.
DLACZEGO PUPPETEER + PROXY POLAND
Puppeteer to oficjalna biblioteka Node.js od Google do sterowania headless Chrome. W połączeniu z dedykowanymi mobilnymi proxy 4G/5G Proxy Poland, Puppeteer staje się skutecznym narzędziem do scrapowania, testowania i automatyzacji, które omija nawet najbardziej agresywne systemy anty-botowe.
Konfigurację Puppeteer testuj na tym samym protokole proxy, profilu przeglądarki, stronie docelowej i workflow konta, które będą używane produkcyjnie. Sprawdź widoczne IP, DNS, ASN, trwałość sesji, rotację i stan logowania przed skalowaniem.
INSTRUKCJE KONFIGURACJI
- 01
Zainstaluj Puppeteer
Zainstaluj Puppeteer w projekcie Node.js:
npm install puppeteer # or for minimal install: npm install puppeteer-core
- 02
Pobierz dane proxy
Zarejestruj się na proxypoland.com i pobierz IP proxy, port, login i hasło z panelu.
- 03
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(); - 04
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'); - 05
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'); - 06
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'); - 07
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 IP
WSKAZÓ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.
Jakie argumenty launchOptions ustawiają Proxy Poland w Puppeteer?+
puppeteer.launch({args: ['--proxy-server=socks5://host:port']}). Dla uwierzytelniania: po uruchomieniu wywołaj await page.authenticate({username, password}) na każdej nowej stronie. Alternatywnie użyj proxy-chain do owinięcia uwierzytelniającego proxy w lokalny proxy bez auth na 127.0.0.1:random i przekaż ten lokalny adres do --proxy-server. Metoda proxy-chain eliminuje wielokrotne wywołania page.authenticate.
Jak page.authenticate obsługuje user:pass Proxy Poland?+
page.authenticate({username, password}) odpowiada na wyzwanie HTTP 407 Proxy-Authentication-Required. Musi być wywołane na każdej nowej instancji Page, zanim nastąpi nawigacja — wywołanie go po pierwszym navigate jest za późne. W Puppeteer 20+ używaj browserContext.authenticate() zamiast page-level dla bardziej czystego konfigurowania. Uwierzytelnianie jest buforowane per kontekst przeglądarki; stworzenie nowego kontekstu wymaga ponownego uwierzytelniania.
Czy mogę użyć page.setRequestInterception do selektywnego kierowania przez Proxy Poland?+
page.setRequestInterception(true) pozwala przerywać, kontynuować lub modyfikować żądania, ale nie może zmienić proxy per-żądanie — proxy jest osadzone w argumencie --proxy-server na poziomie przeglądarki. Możesz użyć intercept do blokowania zasobów (obrazy, czcionki), modyfikowania nagłówków lub przerywania na złym statusie. Do selektywnego routingu proxy użyj wielu Chromium z różnymi --proxy-server lub proxy-chain do dynamicznego przełączania.
Jak proxy-chain pomaga z uwierzytelnianiem Proxy Poland?+
proxy-chain (npm) uruchamia lokalny anonimowy proxy na 127.0.0.1:random_port, który obsługuje uwierzytelnianie do Proxy Poland za Ciebie. Przekaż lokalny adres do --proxy-server. Eliminuje to potrzebę page.authenticate() i działa per browserContext. Przykład: const url = await proxyChain.anonymizeProxy('socks5://user:pass@host:port'); launch({args:['--proxy-server='+url]}). Usuń proxy po użyciu: proxyChain.closeAnonymizedProxy(url, true).
Czy puppeteer-extra stealth-plugin koliduje z Proxy Poland?+
Nie — puppeteer-extra-plugin-stealth patchuje fingerprinty navigator/headless; proxy jest obsługiwane na poziomie sieciowym przez Chrome, a nie przez warstwę JS. Oba współpracują niezależnie. Zainstaluj: const puppeteer = require('puppeteer-extra').use(StealthPlugin()); a potem launch normalnie z argumentem --proxy-server. Stealth nie modyfikuje nagłówków żądań proxy ani uwierzytelniania.
Jak rotować IP Proxy Poland w scraperze Puppeteer?+
Trzy wzorce: (1) wywołaj API /rotate i zachowaj tę samą przeglądarkę (IP zmienia się pod spodem, pule połączeń są reinicjalizowane); (2) zamknij browser.close(), rotuj, uruchom nową instancję przeglądarki; (3) uruchom wiele kontekstów przeglądarki z proxy-chain, każdy ze swoim proxy ze scenariuszem rotacji. Wzorzec (1) jest najszybszy; wzorzec (2) daje najczystszy stan fingerprint; wzorzec (3) skaluje się poziomo.
Puppeteer vs Playwright z Proxy Poland — który integruje się czyszej?+
Playwright obsługuje uwierzytelnione proxy czyszej: browser.newContext({proxy: {server: 'http://host:port', username, password}'}) obsługuje auth bez page.authenticate(). Puppeteer wymaga proxy-chain lub wielokrotnych wywołań page.authenticate. Dla scrapingu produkcyjnego Playwright jest zalecany z powodu lepszej obsługi proxy, network intercept API i współpracy z wieloma przeglądarkami (Chromium, Firefox, WebKit). Puppeteer jest w porządku dla prostszych workflow.