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 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
- 1 IP₫75,000
- 3+ IPs₫70,000
- 5+ IPs₫65,000
- 10+ IPs₫60,000
- 50+ IPs₫60,000
- 100+ IPs₫60,000
- 200+ IPs₫60,000
- 500+ IPs₫55,000
Selenium میں پراکسیز کی تصدیق کے دو قابل اعتماد طریقے
وہ طریقہ منتخب کریں جو آپ کے لینگویج رن ٹائم اور براؤزر ڈرائیور سے مطابقت رکھتا ہو:
| طریقہ کار | کنفیگریشن سنٹیکس | بہترین برائے |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | سب سے تیز ترین Python سیٹ اپ؛ سیشن کے دوران پراکسیز کی فوری تبدیلی کو سپورٹ کرتا ہے |
| Chrome Auth ایکسٹینشن | chrome.webRequest.onAuthRequired کو ہینڈل کرنے والی زپ شدہ ایکسٹینشن لوڈ کریں | Python، Java، C# اور undetected-chromedriver میں اسٹینڈرڈ Selenium |
| Playwright پر منتقل ہوں | browser.newContext({ proxy: { server, username, password } }) | بغیر کسی ایکسٹینشن کے مقامی فی سیاق و سباق پراکسی تصدیق |
پراکسیز کے ذریعے Selenium اسکریپنگ کی کارکردگی بہتر بنانے کے طریقے
options.page_load_strategy = 'eager'سیٹ کریں تاکہ سست تھرڈ پارٹی ٹریکرز کا انتظار کیے بغیر WebDriver جیسے ہی DOM انٹرایکٹو ہو کام شروع کر سکے- اگر ہیڈ لیس موڈ چلا رہے ہوں تو
--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
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=new پاس کرتے ہیں۔
لامحدود بینڈوڈتھ والی اسٹیٹک IPs کے ساتھ Selenium WebDriver کو بڑے پیمانے پر چلائیں
7 ممالک میں فوری ڈیڈیکیٹڈ IPv4 اور اسٹیٹک ISP پراکسیز۔
Selenium پراکسیز خریدیں