Selenium WebDriver တွင် အထောက်အထားစိစစ်မှုပါသော ပရောက်စီကို မည်သို့တပ်ဆင်ရမည်နည်း
Updated:
ပုံမှန် ChromeDriver --proxy-server=http://ip:port flag များသည် inline user:pass အထောက်အထားများကို လျစ်လျူရှုပြီး လုပ်ငန်းစဉ်ကို ရပ်တန့်စေသော login dialog box ကို ပေါ်လာစေပါသည်။ VinaProxy ၏ အထောက်အထားစိစစ်မှုပါသော HTTP(S) ပရောက်စီများကို Selenium တွင် ချောမွေ့စွာ အသုံးပြုနိုင်ရန် သင့်အထောက်အထားများကို selenium-wire မှတစ်ဆင့် ပေးပို့ပါ သို့မဟုတ် အရွယ်အစားသေးငယ်သော Chrome onAuthRequired နောက်ခံ extension တစ်ခုကို ထည့်သွင်း အသုံးပြုပါ။
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)- 1 IP၄၀,၀၀၀ ₫
- 5+ IPs၃၅,၀၀၀ ₫
- 10+ IPs၂၅,၀၀၀ ₫
- 20+ IPs၂၅,၀၀၀ ₫
- 50+ IPs၂၅,၀၀၀ ₫
- 100+ IPs၂၅,၀၀၀ ₫
- 200+ IPs၂၅,၀၀၀ ₫
- 500+ IPs၂၅,၀၀၀ ₫
- 1000+ IPs၂၂,၀၀၀ ₫
- 2000+ IPs၂၀,၀၀၀ ₫
- 1 IP၇၅,၀၀၀ ₫
- 3+ IPs၇၀,၀၀၀ ₫
- 5+ IPs၆၅,၀၀၀ ₫
- 10+ IPs၆၀,၀၀၀ ₫
- 50+ IPs၆၀,၀၀၀ ₫
- 100+ IPs၆၀,၀၀၀ ₫
- 200+ IPs၆၀,၀၀၀ ₫
- 500+ IPs၅၅,၀၀၀ ₫
Selenium တွင် ပရောက်စီ အထောက်အထားစိစစ်ရန် စိတ်ချရသော နည်းလမ်း 2 ခု
သင့် programming language runtime နှင့် browser driver တို့နှင့် ကိုက်ညီသော ချဉ်းကပ်ပုံကို ရွေးချယ်ပါ:
| ချဉ်းကပ်ပုံ နည်းလမ်း | ပြင်ဆင်သတ်မှတ်မှု Syntax | အသင့်တော်ဆုံး အသုံးပြုမှု |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | အမြန်ဆန်ဆုံး Python တပ်ဆင်မှုဖြစ်ပြီး session အလယ်တွင် ပရောက်စီများကို ချက်ချင်းပြောင်းလဲခြင်း (hot-swapping) ကို ထောက်ပံ့ပေးသည် |
| Chrome Auth Extension | chrome.webRequest.onAuthRequired ကို ကိုင်တွယ်ဆောင်ရွက်ပေးသည့် zip ပြုလုပ်ထားသော extension ကို ထည့်သွင်းပါ | Python, Java, C# နှင့် undetected-chromedriver တို့တစ်လျှောက် အသုံးပြုသော ပုံမှန် Selenium အတွက် |
| Migrate to Playwright | browser.newContext({ proxy: { server, username, password } }) | မည်သည့် extension မျှ မလိုအပ်ဘဲ context အလိုက် မူရင်း proxy auth လုပ်ဆောင်ချက် ပါဝင်သည် |
ပရောက်စီများသုံး၍ Selenium scraping ပြုလုပ်ရာတွင် စွမ်းဆောင်ရည်မြှင့်တင်ရန် အကြံပြုချက်များ
- နှေးကွေးသော ပြင်ပ tracker များကို စောင့်ဆိုင်းမနေဘဲ DOM အပြန်အလှန်လုပ်ဆောင်နိုင်သည်နှင့် WebDriver ချက်ချင်း အလုပ်လုပ်နိုင်ရန်
options.page_load_strategy = 'eager'ဟု သတ်မှတ်ပါ - Headless ဖြင့် run ပါက Chrome extensions နှင့် proxy auth တို့သည် headed mode နည်းတူ အလုပ်လုပ်စေရန်
--headless=new(Chrome 109+) ကို အသုံးပြုပါ - စာသားသက်သက် ပါဝင်သော ကုန်ပစ္စည်းဒေတာများကို scrape ပြုလုပ်သည့်အခါ Chrome preferences မှတစ်ဆင့် ပုံများ render ပြုလုပ်ခြင်းကို ပိတ်ထားပါ
- အသုံးမပြုတော့ဘဲ ကျန်ရှိနေသော Chromium process များ မဖြစ်ပေါ်စေရန် သင့် driver ကို
try / finally: driver.quit()block ဖြင့် အမြဲတမ်း ထည့်သွင်းအုပ်မိုးပါ
အဆင့်ဆင့် လုပ်ဆောင်ရန်
- 1
selenium-wire ကို ထည့်သွင်းပါ
သင့် Python virtual environment တွင်
pip install selenium-wireကို run ပါ။ - 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 response တွင် သင့်ပရောက်စီ IP ကို ပြသနေကြောင်း အတည်ပြုပါ။
မကြာခဏမေးလေ့ရှိသော မေးခွန်းများ
ChromeOptions တွင် `--proxy-server=http://user:pass@ip:port` သည် အဘယ်ကြောင့် အလုပ်မလုပ်သနည်း။
Chromium သည် command-line --proxy-server flag မှ user:pass@ ကို ရည်ရွယ်ချက်ရှိရှိ ဖယ်ရှားပစ်ပါသည်။ selenium-wire၊ onAuthRequired extension တစ်ခု သို့မဟုတ် Playwright ကို အသုံးပြုခြင်းက ဤပြဿနာကို သပ်ရပ်စွာ ဖြေရှင်းပေးပါသည်။
selenium-wire တွင် Chrome ကို restart မလုပ်ဘဲ ပရောက်စီများကို ပြောင်းလဲနိုင်ပါသလား။
ပြောင်းလဲနိုင်ပါသည်။ အသုံးပြုနေသော upstream proxy ကို အချိန်မရွေး ချက်ချင်းပြောင်းလဲရန် driver.proxy = {'http': 'http://...', 'https': 'http://...'} သို့ dictionary အသစ်တစ်ခုကို သတ်မှတ်ပေးလိုက်ပါ။
Chrome ပရောက်စီ extension များသည် headless mode တွင် အလုပ်လုပ်ပါသလား။
လုပ်ဆောင်ပါသည်။ ယခင် --headless flag အဟောင်းအစား --headless=new ကို အသုံးပြုသရွေ့ အလုပ်လုပ်ပါသည်။
ကန့်သတ်ချက်မဲ့ static IP များဖြင့် Selenium WebDriver ကို အတိုင်းအတာကြီးမားစွာ အသုံးပြုပါ
နိုင်ငံပေါင်း 7 နိုင်ငံရှိ သီးသန့် Dedicated IPv4 နှင့် Static ISP ပရောက်စီများကို ချက်ချင်းရယူလိုက်ပါ။
Selenium ပရောက်စီများ ဝယ်ယူရန်