"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Exemple de web scraping dynamique Python : application de Selenium et Webdriver

Exemple de web scraping dynamique Python : application de Selenium et Webdriver

Publié le 2024-09-02
Parcourir:592

Python dynamic web scraping example: application of selenium and webdriver

Le scraping dynamique du Web utilise généralement certaines bibliothèques Python, telles que les requêtes pour gérer les requêtes HTTP, le sélénium pour simuler le comportement du navigateur ou pyppeteer. L'article suivant se concentrera sur l'utilisation du sélénium.

Une brève introduction au sélénium

selenium est un outil permettant de tester des applications Web, mais il est également souvent utilisé pour le web scraping, en particulier lorsqu'il est nécessaire de supprimer du contenu Web généré dynamiquement par JavaScript. Le sélénium peut simuler le comportement de l'utilisateur dans le navigateur, tel que cliquer, saisir du texte et obtenir des éléments de page Web.

Exemple de scraping Web dynamique Python

Tout d’abord, assurez-vous que Selenium est installé. Sinon, vous pouvez l'installer via pip :

pip install selenium

Vous devez également télécharger le WebDriver pour le navigateur correspondant. ‌En supposant que nous utilisons le navigateur Chrome,‌ vous devez télécharger ChromeDriver et vous assurer que son chemin est ajouté aux variables d'environnement système,‌ ou vous pouvez spécifier son chemin directement dans le code. ‌

Voici un exemple simple pour récupérer le titre d'une page Web :‌

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Setting up webdriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# Open the webpage
driver.get('https://www.example.com')

# Get the webpage title
title = driver.title

print(title)

# Close the browser
driver.quit()

Ce script ouvrira example.com, obtiendra son titre et l'imprimera. ‌

Notez que ‌webdriver_manager est une bibliothèque tierce qui gère automatiquement les versions de WebDriver. ‌Si vous ne souhaitez pas l'utiliser, vous pouvez également télécharger manuellement WebDriver et spécifier le chemin. ‌

Les pages Web dynamiques peuvent impliquer du contenu rendu en JavaScript. ‌selenium peut attendre que ces éléments se chargent avant de fonctionner, ce qui est très approprié pour traiter de telles pages Web. ‌

Définir un proxy lors du scraping de pages Web dynamiques en python

Lorsque vous utilisez Python pour explorer des pages Web dynamiques, vous utilisez souvent un proxy. L’utilisation d’un proxy évite de nombreux obstacles d’une part et accélère l’efficacité du travail d’autre part.

Nous avons présenté l'installation du sélénium ci-dessus. De plus, vous devez également télécharger le WebDriver du navigateur correspondant et vous assurer que son chemin est ajouté aux variables d'environnement du système, ou vous pouvez spécifier son chemin directement dans le code.
Après avoir terminé les étapes ci-dessus, nous pouvons configurer le proxy et supprimer les pages Web dynamiques :

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Set Chrome options
chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://your_proxy_ip:port')

# Specify the WebDriver path (if you have added the WebDriver path to the system environment variables, you can skip this step)
# driver_path = 'path/to/your/chromedriver'
# driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)

# If WebDriver path is not specified, the default path is used (make sure you have added WebDriver to your system environment variables)
driver = webdriver.Chrome(options=chrome_options)

# Open the webpage
driver.get('https://www.example.com')

# Get the webpage title
title = driver.title

print(title)

# Close the browser
driver.quit()

Dans cet exemple, ‌--proxy-server=http://your_proxy_ip:port est le paramètre de configuration du proxy.‌ Vous devez remplacer your_proxy_ip et port par l'adresse IP et le numéro de port du serveur proxy que vous utilisez réellement. utiliser

Si votre serveur proxy nécessite une authentification,‌ vous pouvez utiliser le format suivant :‌

chrome_options.add_argument('--proxy-server=http://username:password@your_proxy_ip:port')

Où le nom d'utilisateur et le mot de passe sont le nom d'utilisateur et le mot de passe de votre serveur proxy. ‌

Après avoir exécuté le code ci-dessus, ‌selenium accédera à la page Web cible via le serveur proxy configuré‌ et imprimera le titre de la page Web. ‌
Comment spécifier le chemin d'accès à ChromeDriver ?
ChromeDriver fait partie de Selenium WebDriver. Il interagit avec le navigateur Chrome via l'API WebDriver pour implémenter des fonctions telles que les tests automatisés et les robots d'exploration Web. ‌
Spécifier le chemin de ChromeDriver implique principalement la configuration des variables d'environnement. ‌Voici les étapes spécifiques : ‌
1. Rechercher l'emplacement d'installation de Chrome
Vous pouvez le trouver en cliquant avec le bouton droit sur le raccourci Google Chrome sur le bureau et en sélectionnant « Ouvrir l'emplacement du fichier ». ‌
2. Ajoutez le chemin d'installation de Chrome à la variable d'environnement système Path
Cela permet au système de reconnaître ChromeDriver à n'importe quel endroit. ‌
3. Téléchargez et décompressez ChromeDriver
Assurez-vous de télécharger le ChromeDriver correspondant à la version du navigateur Chrome et de le décompresser dans un programme exe. ‌
4. Copiez le fichier exe de ChromeDriver dans le chemin d'installation de Chrome
De cette façon, lorsque vous devez utiliser ChromeDriver, le système peut automatiquement le reconnaître et l'appeler

Ce qui précède est l'application de Selenium et de Webdriver dans l'exploration Web dynamique de Python, et comment l'éviter lors de l'exploration de pages Web. Bien entendu, vous pouvez également pratiquer des opérations réelles à travers les exemples ci-dessus.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/lewis_kerr_2d0d4c5b886b02/python-dynamic-web-scraping-example-application-of-selenium-and-webdriver-3330?1 En cas d'infraction, veuillez contacter study_golang@163 .com pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3