Hoe om 'n proxy met verifikasie in Selenium WebDriver op te stel
Updated:
Standaard ChromeDriver-vlae soos --proxy-server=http://ip:port ignoreer ingeboude user:pass-aanmeldbesonderhede en vertoon 'n blokkerende aanmelddialoog. Om VinaProxy se geverifieerde HTTP(S)-proxies skoon in Selenium te gebruik, gee jou aanmeldbesonderhede deur via selenium-wire of laai 'n klein Chrome-onAuthRequired-agtergronduitbreiding.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP₫40 000
- 5+ IP's₫35 000
- 10+ IP's₫25 000
- 20+ IP's₫25 000
- 50+ IP's₫25 000
- 100+ IP's₫25 000
- 200+ IP's₫25 000
- 500+ IP's₫25 000
- 1000+ IP's₫22 000
- 2000+ IP's₫20 000
- 1 IP₫75 000
- 3+ IP's₫70 000
- 5+ IP's₫65 000
- 10+ IP's₫60 000
- 50+ IP's₫60 000
- 100+ IP's₫60 000
- 200+ IP's₫60 000
- 500+ IP's₫55 000
Twee betroubare maniere om proxies in Selenium te verifieer
Kies die benadering wat by jou programmeertaal en blaaierbestuurder pas:
| Benadering | Konfigurasiesintaksis | Beste vir |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Vinnigste Python-opstelling; ondersteun die intydse omruil van proxies tydens 'n sessie |
| Chrome Auth Extension | Laai 'n saamgeperste uitbreiding wat chrome.webRequest.onAuthRequired hanteer | Standaard Selenium oor Python, Java, C# en undetected-chromedriver |
| Migreer na Playwright | browser.newContext({ proxy: { server, username, password } }) | Inheemse proxy-verifikasie per konteks sonder dat enige uitbreidings nodig is |
Werkverrigtingwenke vir Selenium-skraapwerk oor proxies
- Stel
options.page_load_strategy = 'eager'sodat WebDriver interaksie kan begin sodra die DOM interaktief is, sonder om vir stadige derdeparty-spoorsnyers te wag - Gebruik
--headless=new(Chrome 109+) wanneer jy koploos hardloop sodat Chrome-uitbreidings en proxy-verifikasie presies dieselfde werk as in die normale grafiese modus - Deaktiveer beeldweergawe via Chrome-voorkeure wanneer jy slegs teksgebaseerde produkdata skraap
- Plaas jou bestuurder altyd in 'n
try / finally: driver.quit()-blok om weeskind-Chromium-prosesse te voorkom
Stap vir stap
- 1
Installeer selenium-wire
Voer
pip install selenium-wirein jou virtuele Python-omgewing uit. - 2
Definieer jou VinaProxy-proxy-woordeboek
Formateer jou aanmeldbesonderhede as
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}. - 3
Begin webdriver.Chrome met seleniumwire_options
Inisialiseer
driver = webdriver.Chrome(seleniumwire_options=sw_options). - 4
Verifieer die uitgangs-IP-adres
Gaan na
driver.get('https://vinaproxy.com/api/my-ip')en bevestig dat die JSON-antwoord jou proxy-IP wys.
Gereelde vrae
Waarom werk `--proxy-server=http://user:pass@ip:port` nie in ChromeOptions nie?
Chromium verwyder user:pass@ doelbewus van die opdraglynvlag --proxy-server. Die gebruik van selenium-wire, 'n onAuthRequired-uitbreiding of Playwright los dit skoon op.
Kan ek van proxies wissel sonder om Chrome in selenium-wire te herbegin?
Ja. Ken enige tyd 'n nuwe woordeboek toe aan driver.proxy = {'http': 'http://...', 'https': 'http://...'} om die aktiewe stroomop-proxy intyds te wissel.
Werk Chrome-proxy-uitbreidings in koplose modus?
Ja, solank jy --headless=new in plaas van die verouderde --headless-vlag deurgee.
Laat loop Selenium WebDriver op skaal met onbeperkte statiese IP's
Onmiddellike toegewyde IPv4- en statiese ISP-proxies in 7 lande.
Koop Selenium-proxies