Πώς να ρυθμίσετε proxy με έλεγχο ταυτότητας στο Selenium WebDriver
Updated:
Οι τυπικές σημαίες --proxy-server=http://ip:port του ChromeDriver αγνοούν τα ενσωματωμένα διαπιστευτήρια user:pass και εμφανίζουν ένα παράθυρο σύνδεσης που διακόπτει τη ροή. Για να χρησιμοποιήσετε σωστά τα HTTP(S) proxies με έλεγχο ταυτότητας της VinaProxy στο Selenium, περάστε τα στοιχεία σας μέσω του 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 ₫
Δύο αξιόπιστοι τρόποι ελέγχου ταυτότητας proxy στο Selenium
Επιλέξτε την προσέγγιση που ταιριάζει στο περιβάλλον εκτέλεσης της γλώσσας σας και στον driver του προγράμματος περιήγησης:
| Προσέγγιση | Σύνταξη διαμόρφωσης | Ιδανικό για |
|---|---|---|
selenium-wire (Python) | seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} | Ταχύτερη ρύθμιση σε Python· υποστηρίζει άμεση εναλλαγή proxies κατά τη διάρκεια της συνεδρίας |
| Επέκταση ταυτοποίησης Chrome | Φόρτωση συμπιεσμένης επέκτασης που διαχειρίζεται το chrome.webRequest.onAuthRequired | Τυπικό Selenium σε Python, Java, C# και undetected-chromedriver |
| Μετάβαση στο Playwright | browser.newContext({ proxy: { server, username, password } }) | Εγγενής έλεγχος ταυτότητας proxy ανά context χωρίς καμία απαίτηση για επεκτάσεις |
Συμβουλές απόδοσης για Selenium scraping μέσω proxies
- Ορίστε
options.page_load_strategy = 'eager'ώστε το WebDriver να αλληλεπιδρά μόλις το DOM γίνει διαδραστικό, χωρίς να περιμένει αργούς ιχνηλάτες τρίτων - Χρησιμοποιήστε
--headless=new(Chrome 109+) αν εκτελείτε σε λειτουργία headless, ώστε οι επεκτάσεις Chrome και ο έλεγχος ταυτότητας proxy να λειτουργούν πανομοιότυπα με τη λειτουργία με παράθυρο - Απενεργοποιήστε την εμφάνιση εικόνων μέσω των προτιμήσεων του Chrome όταν συλλέγετε δεδομένα προϊόντων που περιέχουν μόνο κείμενο
- Περικλείετε πάντα τον driver σας σε ένα μπλοκ
try / finally: driver.quit()για να αποτρέψετε ορφανές διεργασίες Chromium
Βήμα προς βήμα
- 1
Εγκαταστήστε το selenium-wire
Εκτελέστε
pip install selenium-wireστο εικονικό περιβάλλον Python σας. - 2
Ορίστε το λεξικό proxy της 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 του proxy σας.
Συχνές ερωτήσεις
Γιατί το `--proxy-server=http://user:pass@ip:port` δεν λειτουργεί στο ChromeOptions;
Το Chromium αφαιρεί σκόπιμα το user:pass@ από τη σημαία --proxy-server της γραμμής εντολών. Η χρήση του selenium-wire, μιας επέκτασης onAuthRequired ή του Playwright επιλύει αυτό το ζήτημα αποτελεσματικά.
Μπορώ να αλλάξω proxies χωρίς επανεκκίνηση του Chrome στο selenium-wire;
Ναι. Αντιστοιχίστε ένα νέο λεξικό στο driver.proxy = {'http': 'http://...', 'https': 'http://...'} ανά πάσα στιγμή για να αλλάξετε άμεσα τον ενεργό διακομιστή μεσολάβησης.
Λειτουργούν οι επεκτάσεις proxy του Chrome σε headless λειτουργία;
Ναι, αρκεί να χρησιμοποιήσετε τη σημαία --headless=new αντί για την παλαιού τύπου σημαία --headless.
Εκτελέστε το Selenium WebDriver σε κλίμακα με απεριόριστες static IPs
Άμεσα Dedicated IPv4 και Static ISP proxies σε 7 χώρες.
Αγοράστε Selenium Proxies