Si të konfiguroni një proxy me autentikim në Selenium WebDriver
Updated:
Flamujt standardë të ChromeDriver --proxy-server=http://ip:port shpërfillin kredencialet inline user:pass dhe shfaqin një dritare bllokuese hyrjeje. Për të përdorur pastër proxy HTTP(S) me autentikim nga VinaProxy në Selenium, kaloni kredencialet tuaja përmes selenium-wire ose ngarkoni një shtesë të vogël në sfond të Chrome për onAuthRequired.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP75 000 ₫
- 3+ IP70 000 ₫
- 5+ IP65 000 ₫
- 10+ IP60 000 ₫
- 50+ IP60 000 ₫
- 100+ IP60 000 ₫
- 200+ IP60 000 ₫
- 500+ IP55 000 ₫
Dy mënyra të besueshme për të autentikuar proxy në Selenium
Zgjidhni qasjen që përputhet me mjedisin tuaj të gjuhës dhe drajverin e shfletuesit:
| Qasja | Sintaksa e konfigurimit | Më e mira për |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Konfigurimi më i shpejtë në Python; mbështet ndërrimin e proxy-ve gjatë sesionit |
| Chrome Auth Extension | Ngarkoni një shtesë të kompresuar që trajton chrome.webRequest.onAuthRequired | Selenium standard në Python, Java, C# dhe undetected-chromedriver |
| Migrate to Playwright | browser.newContext({ proxy: { server, username, password } }) | Autentikim vendas i proxy për çdo kontekst pa kërkuar asnjë shtesë |
Këshilla për performancën gjatë scraping me Selenium përmes proxy-ve
- Vendosni
options.page_load_strategy = 'eager'në mënyrë që WebDriver të ndërveprojë sapo DOM të jetë ndërveprues, pa pritur gjurmuesit e ngadaltë të palëve të treta - Përdorni
--headless=new(Chrome 109+) nëse ekzekutoni në modalitet pa ndërfaqe (headless), në mënyrë që shtesat e Chrome dhe autentikimi i proxy-t të funksionojnë njësoj si në modalitetin me ndërfaqe - Çaktivizoni shfaqjen e imazheve përmes preferencave të Chrome kur bëni scraping të të dhënave të produkteve vetëm me tekst
- Gjithmonë mbështilleni drajverin tuaj në një bllok
try / finally: driver.quit()për të parandaluar proceset e mbetura pezull të Chromium
Hap pas hapi
- 1
Instaloni selenium-wire
Ekzekutoni
pip install selenium-wirenë mjedisin tuaj virtual të Python. - 2
Përcaktoni fjalorin e proxy-t tuaj VinaProxy
Formatoni kredencialet tuaja si
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Nisni webdriver.Chrome me seleniumwire_options
Inicializoni
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Verifikoni adresën IP dalëse
Navigoni te
driver.get('https://vinaproxy.com/api/my-ip')dhe konfirmoni që përgjigjja JSON shfaq IP-në e proxy-t tuaj.
Pyetjet e shpeshta
Pse nuk funksionon `--proxy-server=http://user:pass@ip:port` në ChromeOptions?
Chromium heq qëllimisht user:pass@ nga flamuri --proxy-server i linjës së komandës. Përdorimi i selenium-wire, një shtese onAuthRequired, ose Playwright e zgjidh këtë pastër.
A mund të ndërroj proxy pa rinisur Chrome në selenium-wire?
Po. Caktoni një fjalor të ri te driver.proxy = {'http': 'http://...', 'https': 'http://...'} në çdo moment për të ndërruar menjëherë proxy-n aktiv në rrjedhën e sipërme.
A funksionojnë shtesat e proxy-ve të Chrome në modalitetin headless?
Po, për sa kohë që vendosni --headless=new në vend të flamurit të vjetër --headless.
Ekzekutoni Selenium WebDriver në shkallë të gjerë me IP statike të pakufizuara
Proxy të menjëhershëm Dedicated IPv4 dhe Static ISP në 7 vende.
Bleni proxy për Selenium