Contenu du cours
Extraction de Données Web avec Python
Extraction de Données Web avec Python
Qu'est-ce que Beautiful Soup?
BeautifulSoup est une bibliothèque python qui offre une fonctionnalité étendue pour analyser des pages HTML. Dans la section précédente, vous avez travaillé avec HTML en tant que chaîne de caractères, ce qui imposait des limitations significatives.
Pour installer BeautifulSoup, exécutez la commande suivante dans votre terminal ou invite de commande :
pip install beautifulsoup4
;- Pour commencer, importez BeautifulSoup de bs4:
from bs4 import BeautifulSoup
.
# Importing the library from bs4 import BeautifulSoup print(BeautifulSoup)
Cette bibliothèque est conçue pour travailler avec des fichiers HTML et ne gère pas les liens. Cependant, vous savez déjà comment y faire face en utilisant urlopen de urllib.requests
. Pour démarrer l'analyse, vous devez fournir deux paramètres à la fonction BeautifulSoup : le premier est le fichier HTML, et le second est le parser (nous utiliserons le parser intégré html.parser
). Cette action créera un objet BeautifulSoup. Par exemple, ouvrons et lisons une page web.
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(type(soup)) print(soup)
La première méthode que nous allons explorer est .prettify()
, qui présente le fichier HTML sous forme d'une structure de données imbriquée.
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.prettify())
Merci pour vos commentaires !