Lorsque vous travaillez avec Selenium pour le web scraping ou l'automatisation, l'intégration de proxys est indispensable. proxys vous permet de contourner les interdictions, les limites de taux et les restrictions géographiques, ce qui rend vos tâches transparentes et efficaces. Mais la configuration de proxys dans Selenium peut être un défi, en particulier si vous avez affaire à l'authentification ou si vous devez surveiller les requêtes HTTP. C'est là que Selenium Wire entre en jeu.
Selenium Wire est une version étendue de Selenium qui ajoute des fonctionnalités avancées en vous permettant d'authentifier facilement proxys, d'intercepter les requêtes et les réponses HTTP et de déboguer le trafic réseau.
Dans ce guide, nous allons vous montrer comment configurer proxys dans Selenium à l'aide de selenium-wire
et le webdriver-manager
. En règle générale, vous devez télécharger les fichiers binaires des pilotes web à partir des navigateurs et procéder à des mises à jour régulières. Les webdriver-manager simplifie ce processus en se chargeant de ces tâches pour vous.
À la fin de ce blog, vous aurez une configuration Selenium entièrement adaptée à ProxyScrape proxys , prête à relever tous les défis qui se présenteront à vous. Allons-y, plongeons !
Pour accéder au script complet sans passer par le tutoriel, cliquez sur ce lien pour copier le code complet.
Avant de nous plonger dans la configuration de proxys dans Selenium, assurez-vous que les outils et bibliothèques suivants sont installés et prêts à l'emploi :
Exécutez la commande suivante pour installer toutes les dépendances :
pip install selenium-wire webdriver-manager
Note : Il se peut que vous rencontriez l'erreur "ModuleNotFoundError : Aucun module nommé blinker._saferef". Ce problème peut être résolu en mettant à jour la bibliothèque blinker vers la version 1.7.0.
clignotant
pip uninstall blinker
pip install blinker==1.7.0
Les conditions préalables étant réunies, nous allons décomposer la configuration du script en trois étapes simples :
Maintenant que nous avons abordé les conditions préalables, passons au script proprement dit. Ce guide pas à pas vous aidera à intégrer les éléments suivants ProxyScrape résidentiel proxys avec Selenium en utilisant selenium-wire
et webdriver-manager
.
Nous commençons par importer les bibliothèques nécessaires :
import re
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
Définissez les détails de votre proxy ProxyScrape :
proxy_address = "rp.proxyscrape.com:6060"
proxy_username = "votre_nom_de_proxy"
proxy_password = "votre_mot_de_passe_proxy"
(nom_du_proxy, mot_de_passe du_proxy)
avec vos coordonnées ProxyScrape .Configurer le proxy dans Selenium Wire :
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
Optimiser les paramètres de Chrome pour de meilleures performances :
chrome_options = Options()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
Mise en place selenium-wire
avec webdriver-manager
:
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
Naviguez vers le point de terminaison ProxyScrape Judge pour tester votre proxy :
driver.get('https://ssl-judge2.api.proxyscrape.com/')
Extraire et afficher votre adresse IP proxy en utilisant des expressions rationnelles :
# Exemple : Extraire l'IP de la réponse
response = driver.page_source
# utilisation d'une simple expression rationnelle pour analyser l'adresse IP d'origine
print("Réponse :", réponse)
print("Votre IP est :", re.search("HTTP_X_FORWARDED_FOR = (\d+\.)+\d+", response).group().split("=")[-1])
# quitter l'instance du navigateur
driver.quit()
HTTP_X_FORWARDED_FOR
et extrait l'IP mandatéeEn conclusion, l'utilisation de ProxyScrape residential proxys avec Selenium Wire est une solution robuste pour tous ceux qui ont besoin de capacités avancées de web scraping et d'automatisation avec une confidentialité et une sécurité accrues.
En suivant ce guide, vous pouvez mettre en place un environnement transparent qui non seulement contourne les restrictions, mais nécessite également un minimum d'efforts de configuration. Cette méthode s'appuie sur des outils puissants tels que Selenium Wire et WebDriver Managerpour gérer et acheminer efficacement le trafic via proxys, en veillant à ce que vos tâches de scraping restent efficaces et fiables.
Si vous avez besoin d'aide pour le web scraping ou si vous avez des questions sur notre produit, n'hésitez pas à nous contacter via le chat en direct. Vous pouvez également rejoindre notre communauté Discord pour obtenir de l'aide et des mises à jour.