Selenium WebDriver හි සත්යාපිත ප්රොක්සියක් සකසන්නේ කෙසේද
Updated:
සාමාන්ය ChromeDriver --proxy-server=http://ip:port flags මඟින් inline user:pass අක්තපත්ර නොසලකා හරින අතර ක්රියාවලිය අවහිර කරන පිවිසුම් ඩයලොගයක් මතු කරයි. Selenium හි VinaProxy සත්යාපිත HTTP(S) ප්රොක්සි ගැටලුවකින් තොරව භාවිත කිරීමට, ඔබේ අක්තපත්ර selenium-wire හරහා ලබා දෙන්න හෝ කුඩා Chrome onAuthRequired පසුබිම් දිගුවක් පූරණය කරන්න.
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- IP 1₫40,000
- IP 5+₫35,000
- IP 10+₫25,000
- IP 20+₫25,000
- IP 50+₫25,000
- IP 100+₫25,000
- IP 200+₫25,000
- IP 500+₫25,000
- IP 1000+₫22,000
- IP 2000+₫20,000
- IP 1₫75,000
- IP 3+₫70,000
- IP 5+₫65,000
- IP 10+₫60,000
- IP 50+₫60,000
- IP 100+₫60,000
- IP 200+₫60,000
- IP 500+₫55,000
Selenium හි ප්රොක්සි සත්යාපනය කිරීමට විශ්වාසදායක ක්රම දෙකක්
ඔබේ ක්රමලේඛන භාෂාව (language runtime) සහ browser driver සඳහා ගැළපෙන ක්රමය තෝරාගන්න:
| ක්රමය | Configuration Syntax | වඩාත් සුදුසු වන්නේ |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | වේගවත්ම Python සැකසුම; සැසිය අතරතුර ප්රොක්සි මාරු කිරීමට (hot-swapping) සහාය දක්වයි |
| Chrome Auth Extension | chrome.webRequest.onAuthRequired හසුරුවන zipped දිගුවක් පූරණය කරන්න | Python, Java, C#, සහ undetected-chromedriver හරහා සම්මත Selenium භාවිතය සඳහා |
| Playwright වෙත මාරු වීම | browser.newContext({ proxy: { server, username, password } }) | කිසිදු අමතර දිගුවක් අවශ්ය නොවන ස්වදේශීය (native) per-context proxy auth පහසුකම |
ප්රොක්සි හරහා Selenium scraping සිදු කිරීම සඳහා කාර්යක්ෂමතා ඉඟි
- මන්දගාමී තෙවන පාර්ශවීය ට්රැකර් පැමිණෙන තෙක් බලා නොසිට DOM එක සක්රිය වූ වහාම WebDriver ක්රියාත්මක වීමට
options.page_load_strategy = 'eager'ලෙස සකසන්න - headless ආකාරයෙන් ධාවනය කරන්නේ නම්
--headless=new(Chrome 109+) භාවිත කරන්න, එවිට Chrome දිගු සහ proxy auth සාමාන්ය headed ආකාරයටම සමානව ක්රියා කරයි - පෙළ පමණක් ඇති නිෂ්පාදන දත්ත scrape කිරීමේදී Chrome preferences හරහා පින්තූර පෙන්වීම අක්රිය කරන්න
- Chromium ක්රියාවලි පසුබිමේ ඉතිරි වීම වැළැක්වීම සඳහා සැමවිටම ඔබේ driver එක
try / finally: driver.quit()කොටසකින් ආවරණය කරන්න
පියවරෙන් පියවර
- 1
selenium-wire ස්ථාපනය කරන්න
ඔබේ Python virtual environment තුළ
pip install selenium-wireධාවනය කරන්න. - 2
ඔබේ VinaProxy ප්රොක්සි dictionary එක සකසන්න
ඔබේ අක්තපත්ර
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 flag වෙතින් user:pass@ කොටස හිතාමතාම ඉවත් කරයි. selenium-wire, onAuthRequired දිගුවක් හෝ Playwright භාවිත කිරීමෙන් මෙය පහසුවෙන් විසඳාගත හැක.
selenium-wire හි Chrome නැවත ආරම්භ නොකර ප්රොක්සි මාරු කළ හැකිද?
ඔව්. ඕනෑම අවස්ථාවක සක්රිය upstream ප්රොක්සිය ක්ෂණිකව මාරු කිරීම සඳහා driver.proxy = {'http': 'http://...', 'https': 'http://...'} වෙත නව dictionary එකක් ලබා දෙන්න.
headless ආකාරයෙන් Chrome ප්රොක්සි දිගු ක්රියා කරයිද?
ඔව්, පැරණි --headless flag වෙනුවට --headless=new ලබා දෙන තාක් කල් ඒවා ක්රියා කරයි.
අසීමිත static IP සමඟ Selenium WebDriver ධාවනය කරන්න
රටවල් 7ක් පුරා ක්ෂණික Dedicated IPv4 සහ Static ISP ප්රොක්සි.
Selenium ප්රොක්සි මිලදී ගන්න