#python#selenium#web-scraping#automatisation#extraction-données#développement

Python : Comment faire du Web Scraping ou extraction de données avec (Selenium)

Aujourd'hui il est possible de récupérer tous types d'informations ou de données sur internet. Il est même possible d'effectuer des tâches de façon automatique afin de gagner en temps et de ne plus utiliser le procédé manuel qui est fastidieux et lent.

Aujourd'hui il est possible de récupérer tous types d'informations ou de données sur internet.

Il est même possible d'effectuer des tâches de façon automatique afin de gagner en temps et de ne plus utiliser le procédé manuel qui est fastidieux et lent. Tu te demandes comment c'est possible? Avec Python et Selenium, je te montre comment automatiser les tâches et faire l'extraction de données. Dans cet article, je vous montre comment faire du web scraping facilement sur une page internet

C'est quoi le Web Scraping ?

Le web scraping de l'anglais scraping = « gratter/racler ») selon Wikipedia est une technique d'extraction du contenu de sites Web, via un script ou un programme, dans le but de le transformer pour permettre son utilisation dans un autre contexte comme l'enrichissement de bases de données, le référencement ou l'exploration de données.

C'est quoi Selenium?

Selenium Logo

Selenium est un outil puissant pour contrôler les navigateurs Web via des programmes et effectuer l'automatisation du navigateur. Il est fonctionnel pour tous les navigateurs, fonctionne sur tous les principaux systèmes d'exploitation et ses scripts sont écrits dans différents langages, à savoir Python, Java, C#, etc.

Nous utiliserons mon blog eroambahub pour effectuer nos tests de web Scraping

Let's GO! Créons un fichier scraping.py et ajoutons le code suivant

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver=webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get('https://eroambahub.com/');

1. Récupérer le titre de la page

Page d'accueil

sleep(2)
print(driver.title)

2. Récupérer le copyright dans le footer du blog

Footer du blog

result = driver.find_elements(By.CLASS_NAME, "copyright")
print(result[0].text)
# ou
result = driver.find_elements(By.CSS_SELECTOR, ".copyright")
print(result[0].text)

Résultat copyright

3. Ouvrir le premier article et récupérer le titre, la catégorie et revenir à la page d'accueil

Liste des articles

links=driver.find_elements(By.CLASS_NAME, "post-link");
links[0].click();
sleep(3)
result = driver.find_element(By.CLASS_NAME, "post-tag")
print(result.text)
result = driver.find_element(By.CLASS_NAME, "post-title")
print(result.text)
driver.back()

Article ouvert

4. Appuyez sur voir plus et récupérer tous les titres du blog

Bouton voir plus

driver.find_element(By.CLASS_NAME, "infinite-scroll-button").click();
sleep(5)
result = driver.find_elements(By.CLASS_NAME, "post-title-link")
for e in result:
    print(e.text)

5. Ouvrir tous les articles, récupérer la catégorie et titre ensuite retour à la page d'accueil

links=driver.find_elements(By.CLASS_NAME, "post-link");
for index, item in enumerate(links):
  newLink=driver.find_elements(By.CLASS_NAME, "post-link");
  print(index, item)
  newLink[index].click()
  tag = driver.find_element(By.CLASS_NAME, "post-tag")
  print(tag.text)
  sleep(3)
  result = driver.find_element(By.CLASS_NAME, "post-title")
  print(result.text)
  sleep(3)
  driver.back()
  sleep(4)

Vidéo : Python Webscraping avec selenium

Vidéo YouTube

Youtube Eroamba pour Web Scraping

Conclusion

Maintenant tu as les bases pour faire du web scraping avec python et selenium.

Tu pourras automatiser plusieurs tâches selon tes besoins.

Le web scraping avec Python et Selenium ouvre de nombreuses possibilités d'automatisation et d'extraction de données. Cette technique puissante permet de collecter des informations de manière efficace et automatisée, économisant ainsi un temps précieux dans vos projets de développement.