Kuidas seadistada autenditud proxy Selenium WebDriveris
Updated:
Tavalised ChromeDriveri lipud --proxy-server=http://ip:port eiravad reasiseseid user:pass autentimisandmeid ja kuvavad blokeeriva sisselogimisakna. Selleks et kasutada VinaProxy autenditud HTTP(S) proxysid Seleniumis korrektselt, edastage oma autentimisandmed selenium-wire kaudu või laadige väike Chrome'i onAuthRequired taustalaiendus.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP40 000 ₫
- 5+ IP-d35 000 ₫
- 10+ IP-d25 000 ₫
- 20+ IP-d25 000 ₫
- 50+ IP-d25 000 ₫
- 100+ IP-d25 000 ₫
- 200+ IP-d25 000 ₫
- 500+ IP-d25 000 ₫
- 1000+ IP-d22 000 ₫
- 2000+ IP-d20 000 ₫
- 1 IP75 000 ₫
- 3+ IP-d70 000 ₫
- 5+ IP-d65 000 ₫
- 10+ IP-d60 000 ₫
- 50+ IP-d60 000 ₫
- 100+ IP-d60 000 ₫
- 200+ IP-d60 000 ₫
- 500+ IP-d55 000 ₫
Kaks usaldusväärset viisi proxyde autentimiseks Seleniumis
Valige lähenemine, mis sobib teie programmeerimiskeele ja brauseri draiveriga:
| Lähenemine | Konfiguratsiooni süntaks | Sobib kõige paremini |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Kiireim seadistus Pythonis; toetab proxyde käigult vahetamist sessiooni keskel |
| Chrome'i autentimislaiendus | Laadige pakitud laiendus, mis haldab sündmust chrome.webRequest.onAuthRequired | Standardne Selenium Pythoni, Java, C# ja undetected-chromedriver jaoks |
| Üleminek Playwrightile | browser.newContext({ proxy: { server, username, password } }) | Natiivne kontekstipõhine proxy autentimine ilma laiendusteta |
Jõudlusnõuanded Seleniumiga andmete kraapimiseks proxyde kaudu
- Määrake
options.page_load_strategy = 'eager', et WebDriver saaks lehega suhelda kohe, kui DOM on interaktiivne, ootamata aeglasi kolmandate osapoolte jälgijaid - Peata (headless) režiimis kasutage lippu
--headless=new(Chrome 109+), et Chrome'i laiendused ja proxy autentimine töötaksid identselt tavarežiimiga - Ainult teksti sisaldavate tooteandmete kraapimisel keelake piltide laadimine Chrome'i seadetest
- Hüljatud Chromiumi protsesside vältimiseks mähkige draiver alati plokki
try / finally: driver.quit()
Samm-sammult
- 1
Installige selenium-wire
Käivitage oma Pythoni virtuaalkeskkonnas käsk
pip install selenium-wire. - 2
Määrake oma VinaProxy proxyde sõnastik
Vormindage oma autentimisandmed kujul
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Käivitage webdriver.Chrome parameetriga seleniumwire_options
Initsialiseerige
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Kontrollige väljuvat IP-aadressi
Avage
driver.get('https://vinaproxy.com/api/my-ip')ja veenduge, et JSON-vastus näitab teie proxy IP-d.
Korduma kippuvad küsimused
Miks `--proxy-server=http://user:pass@ip:port` ei tööta ChromeOptionsis?
Chromium eemaldab käsurea lipust --proxy-server teadlikult osa user:pass@. Selle lahendab puhtalt selenium-wire, laiendus onAuthRequired või Playwright.
Kas selenium-wire'is saab vahetada proxysid ilma Chrome'i taaskäivitamata?
Jah. Määrake suvalisel hetkel uus sõnastik driver.proxy = {'http': 'http://...', 'https': 'http://...'}, et vahetada aktiivne väljuv proxy käigult.
Kas Chrome'i proxy laiendused töötavad headless-režiimis?
Jah, tingimusel et kasutate vana lipu --headless asemel lippu --headless=new.
Käitage Selenium WebDriverit suures mahus piiramatu mahuga staatiliste IP-dega
Koheselt kättesaadavad Dedicated IPv4 ja Static ISP proxyd 7 riigis.
Osta Seleniumi proxysid