4.5 · Automatisation & web scraping

Niveau 4 · Spécialisations (Web, Data, IA, Automatisation)

4.5Automatisation & web scraping

Objectif : automatiser des tâches (scripts, Excel, e-mails) et extraire des données du web (requests, BeautifulSoup, Selenium).
Temps estimé : 15 min

C'est souvent la première application « magique » de Python : automatiser les tâches répétitives. Renommer des centaines de fichiers, remplir un tableur, envoyer des e-mails, surveiller un site… quelques lignes remplacent des heures de travail manuel. Cette voie séduit particulièrement les non-développeurs qui veulent gagner du temps.

Le web scraping en est un cas emblématique : extraire automatiquement des données de pages web avec requests (télécharger) et BeautifulSoup (analyser le HTML), voire Selenium pour les sites dynamiques. Un pouvoir à exercer de façon responsable et légale.

Vocabulaire de la section

Automatisation (scripting)
Écrire un programme qui exécute une tâche répétitive à votre place (fichiers, e-mails, tableurs, rapports).
requests
Bibliothèque pour envoyer des requêtes HTTP : télécharger une page web ou interroger une API en quelques lignes.
Web scraping
Extraction automatisée de données depuis des pages web (prix, annonces, articles…).
BeautifulSoup
Bibliothèque qui analyse le HTML et permet d'en extraire facilement les éléments (balises, textes, liens).
Selenium
Outil qui pilote un vrai navigateur, pour les sites générés en JavaScript ou nécessitant des interactions.
Vérifiez votre compréhension

Quel duo sert au web scraping de pages statiques ?

Automatisation & web scraping
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos automatisation & web scraping Python (recherche FR)
Cliquer pour voir les résultats à jour ↗

En pratique — Automatiser une tâche et extraire des données

  1. Automatisation fichiers : avec os/pathlib, parcourez un dossier et renommez ou triez des fichiers selon leur extension.
  2. Installez requests + beautifulsoup4. Téléchargez une page web autorisée avec requests.get(url).
  3. Analysez le HTML avec BeautifulSoup et extrayez des éléments (titres, liens) via .find() / .find_all().
  4. Enregistrez les données extraites dans un CSV : bouclez la chaîne « télécharger → analyser → structurer → sauvegarder ».
Vous automatisez une corvée et extrayez des données du web de bout en bout : l'usage de Python qui fait gagner le plus de temps au quotidien.

Points clés à retenir

  • Python excelle à automatiser les tâches répétitives (fichiers, e-mails, rapports).
  • requests télécharge une page ou interroge une API ; BeautifulSoup analyse le HTML.
  • Selenium pilote un navigateur pour les sites dynamiques (JavaScript).
  • Le scraping doit rester légal et respectueux (conditions du site, robots.txt, rythme).

Questions fréquentes

Le web scraping est-il légal ?

Cela dépend : respectez les conditions d'utilisation du site, le fichier robots.txt, les données personnelles (RGPD) et les droits d'auteur. Espacez vos requêtes pour ne pas surcharger le serveur. Beaucoup de sites offrent une API officielle : à privilégier quand elle existe.

requests suffit-il ou faut-il Selenium ?

requests + BeautifulSoup suffisent pour les pages dont le contenu est dans le HTML initial. Si le contenu est chargé par JavaScript après coup (sites dynamiques, défilement infini), il faut Selenium qui pilote un vrai navigateur. Selenium est plus puissant mais plus lourd : ne l'utilisez qu'au besoin.

Autres ressources

Testez-vous : quiz du niveau 45 questions pour valider vos acquis avant de passer au niveau suivant