In this Article
Selenium est très efficace pour l’automatisation web. L’associer à un proxy vous aide à préserver votre confidentialité, à maintenir une connexion stable et à accéder au contenu sans interruption. Il s’agit d’un outil open source créé par Jason Huggins pour automatiser et tester des applications web. Il comprend notamment Selenium IDE, Grid, Standalone Server et WebDriver.
Dans ce guide, nous allons parcourir les principales étapes pour configurer Selenium avec un proxy en Python pour des tâches de web scraping.
Bien démarrer
Tout d’abord, assurez-vous que Python et pip (Python Package Manager) sont installés. Sinon, téléchargez Python depuis le site officiel, ouvrez le fichier .pkg téléchargé et suivez les instructions. Voyons les étapes de base :
1. Ouvrez Terminal ou Command Prompt. Sur Mac, cliquez sur l’icône Launchpad dans le Dock, saisissez Terminal dans le champ de recherche, puis cliquez sur Terminal. Sous Windows, saisissez cmd dans la fenêtre Exécuter. Cette commande ouvre Command Prompt ou PowerShell.
2. Dans votre terminal, tapez :
python --version
Si vous utilisez Python 3, ajoutez simplement 3 après python. Cette règle peut aussi s’appliquer à d’autres commandes :
python3 --version
pip est généralement installé automatiquement avec Python 3.4+. Il vaut toutefois mieux vérifier si pip est installé en saisissant :
pip --version
pip3 --version
3. Utilisez pip pour installer le package Selenium :
pip install selenium
Si vous utilisez Python 3, utilisez pip3 pour installer Selenium pour Python 3 :
pip3 install selenium
4. Vérifiez que l’installation est terminée.
Après l’installation, vous pouvez vérifier que Selenium est installé en exécutant :
pip show selenium
Utiliser WebDriver avec Selenium
Selenium a besoin d’un WebDriver pour interagir avec des navigateurs tels que Chrome ou Firefox. Vous devrez télécharger le pilote approprié et vous assurer qu’il est disponible dans le PATH de votre système. Nous utiliserons Chrome, un navigateur couramment employé dans les projets d’automatisation.
1. Accédez à la page de téléchargement officielle du ChromeDriver :
https://developer.chrome.com/docs/chromedriver/downloads
2. Recherchez le lien qui correspond à votre version de Chrome et téléchargez le ChromeDriver pour macOS.
Le fichier téléchargé sera au format ZIP.. Double-cliquez dessus pour l’extraire : vous obtiendrez l’exécutable ChromeDriver.
Pour y accéder facilement, déplacez le ChromeDriver vers un répertoire inclus dans le PATH de votre système. Les répertoires courants incluent /usr/local/bin ou /usr/bin. Utilisez cette commande :
sudo mv ~/Downloads/chromedriver /usr/local/bin/
***Si l’erreur “Aucun fichier ou répertoire de ce type” s’affiche, le chemin indiqué dans votre commande est probablement incorrect ou le fichier n’existe pas à cet emplacement. Vérifiez que vous êtes bien dans le répertoire contenant ChromeDriver et que le nom du fichier ne comporte ni extension ni faute de frappe.
Lorsque vous utilisez la commande mv avec sudo pour déplacer des fichiers vers des répertoires comme /usr/local/bin, macOS vous demandera de saisir votre mot de passe. Il s’agit du mot de passe de votre compte utilisateur. Tapez-le et appuyez sur Entrée. Gardez à l’esprit que votre mot de passe n’apparaîtra pas à l’écran lorsque vous tapez (aucun caractère ni symbole n’apparaîtra).
Pour vérifier si ChromeDriver est correctement installé, tapez la commande suivante dans le terminal :
chromedriver --version/
Création d’un script Python de base
Ensuite, installez un éditeur de texte, comme VS Code, ou utilisez votre IDE pour créer un nouveau fichier nommé selenium_test.py.
Pour créer un script Python de base, installez le module webdriver-manager.
- Vous pouvez installer ce package avec pip. Exécutez la commande suivante dans votre terminal :
pip install webdriver-manager/
pip install selenium webdriver-manager/
Après avoir exécuté la commande ci-dessus, votre script devrait fonctionner comme prévu :
# pip install selenium webdriver-manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the HTML of the target webpage
print(driver.page_source)
# release the resources and close the browser
driver.quit()/
Vous verrez ce résultat :
Configuration d’un proxy gratuit dans Selenium
Dans cette partie, vous découvrirez comment configurer un proxy avec Selenium et Python, puis tester des proxys gratuits. Visitez ce site Web https://free-proxy-list.net/ et choisissez un proxy gratuit pour votre test. Dans le script, vous devrez définir l’adresse proxy et le port. Par exemple, choisissons ce proxy gratuit :
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# define the proxy address and port
proxy = "194.5.25.34:443"
# set Chrome options to run in headless mode using a proxy
options = Options()
options.add_argument("--headless=new")
options.add_argument(f"--proxy-server={proxy}")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
Dans le terminal, vous obtiendrez la réponse suivante :
{
“origine”: “194.5.25.34:443”
}
Cela signifie que Selenium navigue vers les pages à l’aide du serveur proxy. Soyez toutefois prudent car les proxys gratuits peuvent être lents et vendre vos données.
Selenium Wire
Selenium Wire est une extension puissante de Selenium qui vous permet d’intercepter et d’analyser le trafic réseau. En examinant les requêtes et réponses HTTP, vous pouvez mieux comprendre comment une application Web interagit avec son serveur. Le pilote Chrome ne traite pas automatiquement le nom d’utilisateur et le mot de passe. C’est pourquoi vous avez besoin d’un plug-in tiers tel que Selenium Wire.
Pour installer Selenium Wire, exécutez cette commande dans votre terminal :
pip install blinker==1.7.0 selenium-wire/
pip3 install blinker==1.7.0 selenium-wire/
Proxy DataImpulse dans Selenium
Il est temps d’utiliser enfin les proxys DataImpulse. Une fois tout installé, nous sommes prêts à continuer l’authentification proxy. Pour cette étape, vous aurez besoin de votre identifiant, de votre mot de passe, de votre adresse et de votre port enregistrés dans la section du forfait choisi sur votre tableau de bord DataImpulse. Nous allons utiliser un proxy résidentiel.
Passons au script :
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# configure the proxy
proxy_username = ""
proxy_password = ""
proxy_address = "gw.dataimpulse.com"
proxy_port = "823"
# formulate the proxy url with authentication
proxy_url = f"http://{proxy_username}:{proxy_password}@{proxy_address}:{proxy_port}"
# set selenium-wire options to use the proxy
seleniumwire_options = {
"proxy": {
"http": proxy_url,
"https": proxy_url
},
}
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize the Chrome driver with service, selenium-wire options, and chrome options
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
seleniumwire_options=seleniumwire_options,
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
Dans VS Code, cela ressemblera à ceci :
Vous recevrez alors une réponse indiquant votre “origine”. Cela confirme que l’authentification a réussi.
Conseils
- Visitez uniquement les sites Web officiels – Téléchargez tous les programmes nécessaires depuis les sites officiels sécurisés.
- Vérifier la compatibilité – Vérifiez à nouveau que les versions de Selenium, ChromeDriver et de votre navigateur sont compatibles entre elles.
- Mettre à jour régulièrement – Mettez régulièrement à jour Selenium, ChromeDriver et vos autres outils afin de profiter des dernières fonctionnalités.
- Gérez en toute sécurité les informations de connexion – Protégez et gérez vos informations d’authentification de manière sécurisée.
- Utiliser des environnements virtuels – Créez un environnement virtuel pour garder vos dépendances organisées et éviter les conflits de packages.
- Gestion des erreurs – Ajoutez une gestion des erreurs à vos scripts afin de traiter les problèmes potentiels liés aux proxys ou aux éléments web.
Conclusion
Si vous souhaitez configurer Selenium, l’utilisation d’un proxy mérite d’être envisagée. C’est comme ajouter un rapport à un moteur : vous gagnez en puissance et en contrôle. Suivez ces instructions et conseils pour installer correctement les packages dès le premier essai. Gardez à l’esprit qu’il est préférable de choisir des proxys fiables plutôt que des proxys gratuits afin de bénéficier de meilleures performances, d’une sécurité accrue et d’une connexion plus stable.









