
Apprendre à utiliser Selenium avec un proxy IP.
Les amis engagés dans les tests d'automatisation savent que la plus grande crainte est d'utiliser Selenium pour collecter des données lorsque l'IP est bloquée. Récemment, lorsque j'ai aidé des personnes à déboguer des scripts, j'ai constaté que de nombreuses personnes ne savent même pas comment faire correspondre le proxy de base. Aujourd'hui, nous allons voir comment intégrer le proxy IP ipipgo dans Selenium, en nous concentrant sur la résolution des pièges dans l'utilisation réelle.
Pourquoi dois-je utiliser une adresse IP proxy ?
Pour citer un cas réel : l'année dernière, il y a eu une comparaison des prix du commerce électronique du type, avec leur propre large bande pour exécuter des scripts pour capturer les données, les résultats de trois jours sur le site cible pour tirer le noir. Plus tard, le pool IP résidentiel dynamique a été modifié.Le taux de réussite des demandes passe directement de 32% à 89%.. L'utilisation d'IP proxy est désormais une norme industrielle, en particulier pour les scénarios d'entreprise qui nécessitent des tests multirégionaux.
Deux options de configuration du monde réel
Vous trouverez ci-dessous un exemple de Chrome (et d'autres navigateurs également) qui recommande deux méthodes testées et efficaces pour faire correspondre les filets :
Option 1 : injection directe de paramètres
from selenium import webdriver
proxy_host = "gateway.ipipgo.com" adresse du serveur proxy
proxy_port = "9021" Remplacer par le port réel.
proxy_user = "votre_nom_d'utilisateur"
proxy_pass = "votre_mot_de_passe"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f"--proxy-server=http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}")
driver = webdriver.Chrome(options=chrome_options)
Ce modèle convient aux scénarios qui nécessitent des tests rapides, mais il y a un piège à éviter :Certains sites web détectent le navigateur avec des paramètres proxyil est temps d'utiliser la deuxième option.
Option 2 : Proxy Authentication Plug-in
from selenium.webdriver import Proxy
from selenium.webdriver.common.proxy import ProxyType
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = f"{proxy_host}:{proxy_port}"
proxy.socks_username = proxy_user
proxy.socks_password = proxy_pass
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(desired_capabilities=capabilities)
Cette façon d'écrire est plus proche de l'environnement réel du navigateur et convient aux entreprises qui ont besoin d'un anonymat élevé. Le test réel utilise le systèmeAgent de ligne TKCe système permet de réduire de 70% le taux de reconnaissance de l'anti-escalade.
Guide de sélection des paquets
Configurations recommandées en fonction des scénarios d'entreprise :
| Type d'entreprise | Paquets recommandés | consommation quotidienne moyenne |
|---|---|---|
| Collecte de données à court terme | Dynamique résidentielle (standard) | 10-20GB |
| Tests automatisés à long terme | Maisons statiques | IP fixe |
| Opérations à haute fréquence | Dynamic Residential (Entreprise) | 50 GO ET PLUS |
J'aime généralement utiliser des proxys résidentiels statiques - après tout, ils sont stables, et bien que le prix unitaire semble plus élevé, ils sont en fait plus rentables à long terme. Récemment, les nouveaux utilisateurs d'ipipgo ont eu pour le premier mois10% de réductionIl est recommandé d'utiliser d'abord le kit de test pour s'entraîner.
Questions fréquemment posées sur le déminage
Q : Le proxy est apparié mais la connexion échoue ?
R : Vérifiez d'abord les trois éléments suivants : 1. le format IP est correct ; 2. il faut ouvrir ou non la liste blanche ; 3. le quota est épuisé. ipipgo background real-time usage monitoring, it is recommended to open the debugging
Q : Que dois-je faire si je rencontre une erreur de certificat ?
R : Ajouter ce paramètre dans les options :chrome_options.add_argument('--ignore-certificate-errors')
Q : Comment basculer automatiquement entre différentes IP régionales ?
R : Appelez l'API d'ipipgo pour obtenir de nouveaux proxies, et il est recommandé de définir une période de rotation de 30 minutes. Il existe des exemples de code prêts à l'emploi dans la documentation de l'API
Partage d'expérience pour éviter les pièges
Récemment, j'ai rencontré un problème étrange : lorsque je me connectais à un site web avec Selenium+proxy, il sautait toujours le captcha. Plus tard, j'ai découvert que c'étaitLes empreintes digitales du navigateur sont reconnuesLa solution est double : 1. Il y a deux solutions : 1. changer aléatoirement le user-agent à chaque fois que vous démarrez 2. avec le proxy de ligne spéciale transfrontalière d'ipipgo (leur score de réputation IP pour cette ligne est plus élevé)
Un autre rappel pour les débutants : n'écrivez pas de paramètres proxy morts dans votre code ! Il est recommandé d'utiliser des variables d'environnement pour stocker les informations d'authentification, ce qui est à la fois sûr et pratique pour passer d'un paquetage à l'autre.

