Ako nastaviť autentifikovanú proxy v Selenium WebDriver
Updated:
Štandardné prepínače --proxy-server=http://ip:port v ChromeDriver ignorujú prihlasovacie údaje user:pass v URL a zobrazujú blokujúce prihlasovacie dialógové okno. Ak chcete v Selenium bez problémov používať autentifikované HTTP(S) proxy od VinaProxy, odovzdajte svoje prihlasovacie údaje cez selenium-wire alebo načítajte jednoduché rozšírenie Chrome na pozadí využívajúce onAuthRequired.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP75 000 VND
- 3+ IP70 000 VND
- 5+ IP65 000 VND
- 10+ IP60 000 VND
- 50+ IP60 000 VND
- 100+ IP60 000 VND
- 200+ IP60 000 VND
- 500+ IP55 000 VND
Dva spoľahlivé spôsoby autentifikácie proxy v Selenium
Vyberte si postup, ktorý vyhovuje vášmu programovaciemu jazyku a prehliadačovému ovládaču:
| Prístup | Syntax konfigurácie | Najlepšie pre |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Najrýchlejšie nastavenie v Pythone; podporuje výmenu proxy za behu bez prerušenia relácie |
| Overovacie rozšírenie pre Chrome | Načítanie zip rozšírenia spracúvajúceho chrome.webRequest.onAuthRequired | Štandardné Selenium v jazykoch Python, Java, C# a undetected-chromedriver |
| Prechod na Playwright | browser.newContext({ proxy: { server, username, password } }) | Natívna autentifikácia proxy na úrovni kontextu bez potreby akýchkoľvek rozšírení |
Tipy na zvýšenie výkonu pri scrapovaní cez proxy v Selenium
- Nastavte
options.page_load_strategy = 'eager', aby WebDriver interagoval hneď, ako je DOM interaktívny, bez čakania na pomalé sledovacie skripty tretích strán - Pri bezhlavom režime použite
--headless=new(Chrome 109+), aby rozšírenia Chrome a overovanie proxy fungovali identicky ako v režime s grafickým rozhraním - Pri scrapovaní čisto textových údajov o produktoch zakážte načítavanie obrázkov v predvoľbách Chrome
- Vždy obaľte ovládač do bloku
try / finally: driver.quit(), aby ste zabránili osiroteným procesom Chromium
Krok za krokom
- 1
Nainštalujte selenium-wire
Spustite
pip install selenium-wirevo svojom virtuálnom prostredí Python. - 2
Definujte slovník proxy od VinaProxy
Naformátujte svoje prihlasovacie údaje ako
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Spustite webdriver.Chrome s parametrom seleniumwire_options
Inicializujte
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Overte výstupnú IP adresu
Prejdite na
driver.get('https://vinaproxy.com/api/my-ip')a potvrďte, že odpoveď JSON zobrazuje IP adresu vašej proxy.
Často kladené otázky
Prečo `--proxy-server=http://user:pass@ip:port` v ChromeOptions nefunguje?
Chromium zámerne odstraňuje user:pass@ z prepínača príkazového riadka --proxy-server. Tento problém elegantne vyrieši použitie selenium-wire, rozšírenia onAuthRequired alebo nástroja Playwright.
Môžem v selenium-wire prepínať proxy bez reštartovania Chrome?
Áno. Kedykoľvek priraďte nový slovník do driver.proxy = {'http': 'http://...', 'https': 'http://...'} a aktívnu nadradenú proxy vymeníte za behu.
Fungujú proxy rozšírenia Chrome v bezhlavom (headless) režime?
Áno, pokiaľ namiesto starého prepínača --headless použijete --headless=new.
Prevádzkujte Selenium WebDriver vo veľkom rozsahu s neobmedzenými statickými IP
Okamžite dostupné dedikované IPv4 a statické ISP proxy v 7 krajinách.
Kúpiť Selenium proxy