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 менен скрапинг жасоодо өндүрүмдүүлүктү жогорулатуу боюнча кеңештер
- Жай иштеген үчүнчү тараптын трекерлерин күтпөстөн, DOM интерактивдүү болгондон кийин дароо WebDriver иштеши үчүн
options.page_load_strategy = 'eager'деп коюңуз - Эгер башсыз (headless) режимде иштетип жатсаңыз, Chrome кеңейтүүлөрү жана прокси аутентификациясы кадимки режимдегидей иштеши үчүн
--headless=new(Chrome 109+) колдонуңуз - Тексттик гана продукт дайындарын скрапинг кылууда Chrome ырастоолору (preferences) аркылуу сүрөттөрдү көрсөтүүнү өчүрүп коюңуз
- 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
seleniumwire_options менен webdriver.Chrome'ду ишке киргизүү
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'ду өчүрүп-күйгүзбөстөн проксилерди алмаштырса болобу?
Ооба. Иштеп жаткан негизги проксини каалаган учурда дароо алмаштыруу үчүн driver.proxy = {'http': 'http://...', 'https': 'http://...'} маанисине жаңы сөздүктү ыйгарыңыз.
Chrome прокси кеңейтүүлөрү башсыз (headless) режимде иштейби?
Ооба, эскирген --headless желекчесинин ордуна --headless=new берсеңиз эле иштейт.
Чектөөсүз статикалык IP даректер менен Selenium WebDriver'ди масштабдуу иштетиңиз
7 өлкө боюнча заматта берилүүчү Dedicated IPv4 жана Static ISP проксилери.
Selenium проксилерин сатып алуу