Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce que Beautiful Soup? | Décoder HTML avec Beautiful Soup
Extraction de Données Web avec Python

book
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)
123
# Importing the library from bs4 import BeautifulSoup print(BeautifulSoup)
copy

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)
12345678910111213
# 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)
copy

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())
123456789101112
# 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())
copy

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
some-alt