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 portera sur l'utilisation du sélénium.
selenium est un outil permettant de tester des applications Web, mais il est également souvent utilisé pour le web scraping, notamment 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.
Tout d’abord, assurez-vous que le sélénium 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.
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 les pages Web dynamiques proxy et scrap :
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. Trouver 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 qui correspond à la version du navigateur Chrome et de le décompresser dans un programme exe.
4. Copiez le fichier exe de ChromeDriver sur 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 sûr, vous pouvez également pratiquer des opérations réelles à travers les exemples ci-dessus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!