Beautiful Soup
Beautiful Soup permet d’extraire des données d’une page web ou d’un document XML. Il est possible d’automatiser la récupération et le traitement de données en le combinant avec des bibliothèques comme requests. Beautiful Soup nécessite un environnement Python pour fonctionner.
Caractéristiques
Beautiful Soup est une bibliothèque Python? dédiée à l’analyse, le traitement et l’extraction de données de documents HTML et XML?.
Contrairement à Octoparse, Beautiful Soup ne dispose pas d’une interface graphique ; les instructions sont saisies sous forme de ligne de commande. La bibliothèque nécessite un environnement Python comme Anaconda pour fonctionner. L’installation se fait via un gestionnaire de paquets tel que pip.
Comme Octoparse, BeautifulSoupe est utile pour de petits ou moyens projets. Pour des projets d’envergure, l’utilisation de Scrapy est recommandé.
Fonctionnement
Analyse de la structure d’une page web
La bibliothèque "requests" permet d’analyser la structure d’une page web et d’extraire les informations nécessaires à leur exploitation. Pour cela, on envoie une requête HTTP vers la page web et obtient en réponse le code HTML ou XML qui la structure.
Ce document est ensuite analysé par Beautiful Soup qui présente les éléments de la structure du document (le DOM) sous forme d’arbre.
Navigation dans l’arbre DOM
Il est possible de parcourir l’arborescence en accédant aux balises et à leur contenu. Différentes méthodes, comme l’analyseur HTML intégré de Python ou des outils plus rapides comme lxml, permettent de se déplacer dans la structure du document en sélectionnant des parents, des enfants ou des éléments frères. Beautiful Soup offre plusieurs moyens d’accéder aux éléments, notamment par nom de balise, par attributs ou par sélecteurs CSS.
Recherche et extraction des données
Des méthodes avancées permettent d’effectuer des recherches précises sur les éléments du document. Il est possible d’extraire du texte, des liens, des images ou tout autre contenu structuré en indiquant l’élément DOM à traiter.
La recherche peut s’effectuer via des méthodes comme find(), qui retourne le premier élément correspondant, ou find_all(), qui récupère l’ensemble des éléments répondant aux critères définis.
Modification du document
Beautiful Soup permet de modifier le contenu d’un document en ajoutant, supprimant ou modifiant des balises et des attributs. Il est ainsi possible de reconstruire une page web à partir de données extraites ou de nettoyer un document avant analyse.
Les éléments peuvent être insérés ou supprimés dynamiquement, ce qui facilite la manipulation de documents complexes.
Export et sauvegarde
Une fois le traitement terminé, le document modifié peut être converti en une structure HTML propre et sauvegardé sous forme de fichier ou de chaîne de texte.
Beautiful Soup offre des options pour reformater et indenter le document, garantissant une sortie lisible et structurée.
Compatibilité avec d’autres outils
Beautiful Soup s’intègre facilement avec d’autres bibliothèques pour récupérer des pages web ou pour organiser les données extraites sous forme de tableaux.
Aide et tutoriels
Documentation officielle
Page officielle
Beautiful Soup Dokumentation
Forums et entraide
Groupe de discussion
Manuels et tutoriels
Younes Derfoufi : Webscraping avec BeautifulSoup
J. H. Roy, UQÀM : Beautiful Soup - guide simplifié
Vidéos
Data Scientest : Comment scraper/récupérer les données d’un site web avec BeautifulSoup ?
F. Dufaur Boidin : Comment scraper un site Web avec Python et BeautifulSoup ?
Realizing Tech : Scraping d’un site web (Python - BeautifulSoup) avec Jupyter Notebook
Porteurs et partenaires
Beautiful Soup a été créé par Leonard Richardson en 2004 qui en assure le développement avec le soutien de la communauté open source. L’application est une bibliothèque open source sous licence MIT, ce qui permet son utilisation, sa modification et sa redistribution librement, y compris dans des projets commerciaux.
Article publié le 1er avril 2025 Dernière mise à jour : 11 septembre 2025
