
Selenium rencontre Proxy IP : voici comment procéder
Toute personne impliquée dans les tests d'automatisation sait que Selenium est comme un passe-partout. Récemment, cependant, certaines personnes m'ont demandé comment utiliser Selenium pour capturer des données et se font toujours bannir. Aujourd'hui, nous allons vous expliquer comment utiliser un proxy IP pour Selenium afin de porter une cape, couplée à un positionnement CSS de la pièce maîtresse, garantie de rendre votre script aussi stable que le vieux chien.
L'IP proxy n'est pas un ensemble d'enfants, vous devez l'utiliser de la manière suivante
Tout d'abord, disons une chose vraie : un ami qui fait du commerce électronique avec sa propre IP pour attraper le prix des concurrents, les résultats du troisième jour ont reçu une lettre des avocats. À ce moment-là, la propriété intellectuelle par procuration est une bouée de sauvetage, mais de nombreuses personnes configurent la méthode comme n'étant tout simplement pas la bonne. Rappelez-vous ces trois points :
from selenium import webdriver
proxy = "112.95.23.206:8000"
options = webdriver.ChromeOptions()
options.add_argument(f'--proxy-server={proxy}') La clé se trouve dans cette ligne
driver = webdriver.Chrome(options=options)
Le point principal est que les conseils pratiques d'ipipgo : leur pool d'IP résidentielles dynamiques est suffisamment grand, il est recommandé qu'à chaque fois que vous exécutez le script de changer la nouvelle IP. ne soyez pas stupide d'utiliser une IP fixe, ce n'est pas différent d'exécuter nue.
Le joker du positionnement CSS
Vous avez déjà vu quelqu'un gâcher des dizaines de lignes de code avec le positionnement XPath ? En fait, le positionnement CSS est plus rentable. Pour donner un marron, pour trouver le prix d'une certaine marchandise au trésor :
Façon conventionnelle d'écrire
price = driver.find_element_by_css_selector("span.price-now > em")
Amélioration de l'anti-ban (avec mécanisme de réessai)
from selenium.webdriver.support.ui import WebDriverWait
element = WebDriverWait(driver, 10).until(
lambda x : x.find_element_by_css_selector("div[class^='price'] > b")
)
Notez que la dynamique des classes changeSi vous voulez utiliser ^= ou = pour faire de la correspondance floue, utilisez ^= ou = pour faire de la correspondance floue. N'utilisez pas le nom complet de la classe, car de nos jours, les sites web adorent utiliser des classes aléatoires pour éviter les robots d'indexation.
Guide pratique pour éviter la fosse
| symptomatique | méthode régler un problème |
|---|---|
| L'élément ne peut être localisé. | Ajouter l'attente explicite, ne pas utiliser time.sleep |
| Le CAPTCHA a surgi de nulle part | Modifier l'adresse IP résidentielle statique d'ipipgo pour réduire le contrôle du vent |
| se charge à une vitesse d'escargot | Vérifier la vitesse du proxy, changer le paquet dédié TK |
Temps consacré à l'assurance qualité
Q : Proxy IP utilisé ou bloqué ?
R : Quatre-vingt pour cent de la qualité IP n'est pas. Recommandé ipipgo dynamic residential (Enterprise Edition), plus de 9 1G flow, livré avec le mécanisme de rotation IP, pro-mesure de fonctionnement continu 7 jours sans mite.
Q : Qu'est-ce qui est le mieux, le positionnement CSS ou XPath ?
R : L'utilisation quotidienne de CSS est suffisante pour que cela fonctionne, mais lorsqu'il s'agit d'éléments hiérarchiquement profonds, le positionnement des axes avec XPath est plus fluide. Attention toutefois aux révisions du site, une maintenance régulière du localisateur est la bonne solution.
Q : Comment choisir mon forfait ipipgo ?
R : les débutants peuvent utiliser la version standard dynamique (7,67 $/GB), les projets d'entreprise peuvent utiliser directement l'IP résidentielle statique (35 $/mois). Les entreprises transfrontalières doivent utiliser leur ligne internationale spécialisée, la vitesse peut être plus de trois fois supérieure.
Je vais vous dire ce qui me préoccupe.
J'ai vu trop de gens se planter sur la qualité de la propriété intellectuelle. J'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP, et j'ai vu trop de gens tomber dans le piège de la qualité des IP. En particulier leur programme de personnalisation 1v1, le commerce à l'étranger a beaucoup aidé.
Enfin, n'oubliez pas de définir un intervalle de requête raisonnable pour les tests automatisés, afin de ne pas faire planter le serveur. L'IP proxy + le positionnement CSS n'est qu'un outil.Le respect du fichier robots.txt est la meilleure solution !.

