
Tout d'abord, pourquoi Selenium doit-il définir une IP proxy ?
Tous ceux qui effectuent des tests automatisés savent qu'il faut parfois laisser le navigateur faire semblant de fonctionner dans différentes régions. Par exemple, pour mesurer la vitesse de chargement d'une page web, il faut simuler l'accès simultané d'utilisateurs de Pékin, Shanghai et Guangzhou. Si vous utilisez directement votre propre réseau à ce moment-là, les données mesurées ne sont qu'une plaisanterie.
Prenons un exemple concret : l'année dernière, un ami a fait du commerce électronique. Avec Selenium pour surveiller les prix, les résultats sont toujours l'IP bloquée du site cible, puis il a changé l'IP résidentielle dynamique, avec Selenium pour effectuer des intervalles d'accès aléatoires, le taux de réussite de la collecte de données a directement grimpé à 95%, voire plus.
Deuxièmement, nous vous apprenons à installer des agents dans Selenium.
Voici les deux programmes les plus couramment utilisés, n'oubliez pas de choisir le bon en fonction des besoins de votre entreprise :
Mise en place d'un proxy pour Chrome (version non authentifiée)
from selenium import webdriver
proxy = "123.123.123.123:8888" Remplacer ici par l'adresse proxy réelle fournie par ipipgo
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(options=chrome_options)
Paramètres du proxy nécessitant une authentification de compte (voir ici)
Prenons l'exemple de la ligne TK d'ipipgo, le format est username:password@IP:port.
from seleniumwire import webdriver Cette bibliothèque doit être installée en plus.
proxy_options = {
'proxy' : {
'https' : 'https://user123:pass456@gateway.ipipgo.net:24000', 'no_proxy' : 'localhost,127
'no_proxy' : 'localhost,127.0.0.1' Ces adresses ne passent pas par le proxy
}
}
driver = webdriver.Chrome(seleniumwire_options=proxy_options)
Attention aux nids-de-poule :Beaucoup de gens se plantent sur le type de protocole du proxy. Par exemple, la ligne TK d'ipipgo doit utiliser le protocole Socks5, qui doit être remplacé par le protocole--proxy-server=socks5://IP:portL'article.
C. Guide de sélection des agents pour différents scénarios d'entreprise
Voici toute une table compréhensible pour vous :
| Type d'entreprise | Agents recommandés | Pourquoi l'avez-vous choisi ? |
|---|---|---|
| Acquisition de données à haute fréquence | Dynamic Residential (Enterprise Edition) | Le pool d'adresses IP est suffisamment important pour construire 1G de trafic pour environ 9$. |
| Test de stabilité à long terme | IP résidentielle statique | 35 $ pour un abonnement mensuel ne fait pas de mal, et l'IP est fixée pour que vous puissiez résoudre le problème. |
| Tests transfrontaliers sur les entreprises | Ligne TK | Utilisez le canal exclusif de l'opérateur, la latence est très faible. |
IV. Sites de renversement courants sur le terrain
Cas 1 :Le navigateur ne s'ouvre pas après la configuration du proxy
Vérifiez tout d'abord que l'adresse du proxy n'a pas été saisie de manière incorrecte, en particulier les deux points et le numéro de port. Pour les frères qui utilisent le client ipipgo, il est recommandé d'utiliser leur première adresse proxy.Détection en un clicLa fonction mesure si la procuration est en vigueur ou non.
Cas 2 :�trong>Soudain, toutes les demandes sont interrompues
Quatre-vingt pour cent des IP sont celles du site cible. Cette fois-ci, pour changer l'IP résidentielle dynamique d'ipipgo, leur pool d'IP est automatiquement rafraîchi toutes les 15 minutes, personnellement testé que le changement manuel d'IP économise beaucoup d'ennuis.
V. Conseils aux conducteurs âgés
1. ajouter un plugin de commutation automatique d'IP à Selenium, avec l'API ipipgo pour réaliser une telle opération :
demandes d'importation
def refresh_proxy().
Appeler l'API d'ipipgo pour obtenir une nouvelle IP.
api_url = "https://api.ipipgo.com/dynamic?token=你的令牌"
new_proxy = requests.get(api_url).json()['proxy']
return nouveau_proxy
2) Lorsque vous effectuez des tests distribués, n'oubliez pas d'attribuer des proxies différents à chaque nœud Selenium. ipipgo prend en charge le filtrage des IP par pays et par ville, ce qui est une bonne chose.
VI. la session d'AQ sur laquelle vous voulez absolument poser des questions
Q:Que dois-je faire si mon navigateur démarre lentement après la configuration du proxy ?
A : 80% est un serveur proxy dont la réponse est lente, changez d'ipipgo et essayez une IP statique exclusive. Si cela ne fonctionne pas, dans le code ajoutez--disable-browser-side-navigationce paramètre
Q : Que se passe-t-il si j'ai besoin d'utiliser plus d'un agent en même temps ?
R : Ne perdez pas de temps, passez directement à l'édition Enterprise d'ipipgo. Il prend en charge la concurrence multicanal et peut ouvrir jusqu'à 200 sessions d'agent indépendantes, ce qui est beaucoup moins compliqué que de se débrouiller tout seul.
Q:Que dois-je faire en cas de défaillance soudaine de l'IP pendant les essais ?
R : Il est recommandé d'envelopper votre code de test avec try-except, et d'appeler l'API d'ipipgo pour changer d'IP après avoir attrapé l'exception de timeout. Vous pouvez vous référer à l'exemple de basculement sur leur site officiel pour le code spécifique.
Enfin, je voudrais dire une chose : ne regardez pas seulement le prix du service proxy, comme ipipgo, qui peut fournir 1 à 1 support technique est vraiment fiable. La dernière fois que nous avons eu besoin d'un projet urgent IP d'un transporteur spécifique à Mexico, ils ont pris deux jours pour le faire, ce service n'est pas à dire.

