Selenium WebDriver-де аутентификацияланған проксиді қалай баптауға болады
Updated:
Стандартты ChromeDriver --proxy-server=http://ip:port жалаушалары кірістірілген user:pass деректерін ескермейді және бұғаттайтын кіру диалогын шығарады. Selenium ішінде VinaProxy аутентификацияланған HTTP(S) проксилерін кедергісіз пайдалану үшін, тіркелгі деректеріңізді selenium-wire арқылы беріңіз немесе Chrome-ның шағын 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 ₫
Selenium-де прокси аутентификациясын жасаудың екі сенімді тәсілі
Бағдарламалау тіліңіздің орындалу ортасына және браузер драйверіне сәйкес келетін тәсілді таңдаңыз:
| Тәсіл | Баптау синтаксисі | Қай жағдайда қолайлы |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Python-дағы ең жылдам баптау; сессия ортасында проксилерді жедел ауыстыруды қолдайды |
| Chrome аутентификация кеңейтімі | chrome.webRequest.onAuthRequired өңдейтін zip-мұрағатталған кеңейтімді жүктеу | Python, Java, C# және undetected-chromedriver үшін стандартты Selenium |
| Playwright-ке көшу | browser.newContext({ proxy: { server, username, password } }) | Ешқандай кеңейтімді қажет етпейтін контекстке негізделген кірістірілген прокси аутентификациясы |
Прокси арқылы Selenium-мен скрапинг жасауға арналған өнімділік бойынша кеңестер
- WebDriver баяу үшінші тарап трекерлерін күтпей, DOM интерактивті бола салысымен жұмыс істеуі үшін
options.page_load_strategy = 'eager'мәнін орнатыңыз - Бассыз (headless) режимде іске қосқан кезде
--headless=new(Chrome 109+) пайдаланыңыз, сонда Chrome кеңейтімдері мен прокси аутентификациясы графикалық режимдегідей жұмыс істейді - Тек мәтіндік өнім деректерін скрапинг жасағанда, Chrome параметрлері арқылы суреттерді көрсетуді өшіріңіз
- Қалып қойған Chromium процестерінің алдын алу үшін драйверіңізді әрқашан
try / finally: driver.quit()блогына ораңыз
Қадам бойынша
- 1
selenium-wire орнату
Python виртуалды ортасында
pip install selenium-wireпәрменін орындаңыз. - 2
VinaProxy прокси сөздігін анықтау
Тіркелгі деректеріңізді
sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}түрінде пішімдеңіз. - 3
webdriver.Chrome-ді seleniumwire_options көмегімен іске қосу
driver = webdriver.Chrome(seleniumwire_options=sw_options)арқылы инициализациялаңыз. - 4
Шығыс IP мекенжайын тексеру
driver.get('https://vinaproxy.com/api/my-ip')бетіне өтіп, JSON жауабында прокси IP мекенжайыңыз көрсетілгенін растаңыз.
Жиі қойылатын сұрақтар
Неліктен ChromeOptions ішінде `--proxy-server=http://user:pass@ip:port` жұмыс істемейді?
Chromium пәрмен жолындағы --proxy-server жалаушасынан user:pass@ бөлігін әдейі алып тастайды. Бұл мәселені selenium-wire, onAuthRequired кеңейтімі немесе Playwright арқылы таза шешуге болады.
selenium-wire ішінде Chrome-ды қайта іске қоспай-ақ проксилерді ауыстыруға бола ма?
Иә. Кез келген уақытта белсенді upstream проксиді лезде ауыстыру үшін driver.proxy = {'http': 'http://...', 'https': 'http://...'} мәніне жаңа сөздік тағайындаңыз.
Chrome прокси кеңейтімдері бассыз (headless) режимде жұмыс істей ме?
Иә, ескірген --headless жалаушасының орнына --headless=new берсеңіз болғаны.
Selenium WebDriver-ді трафигі шектелмеген статикалық IP-лермен кең ауқымда іске қосыңыз
7 ел бойынша лезде берілетін Dedicated IPv4 және Static ISP проксилері.
Selenium проксилерін сатып алу