Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Attributs et Contenus de l'Élément | Travailler avec les Attributs d'Élément dans Beautiful Soup
Extraction de Données Web avec Python
course content

Contenu du cours

Extraction de Données Web avec Python

Extraction de Données Web avec Python

1. Se Familiariser avec HTML
2. Décoder HTML avec Beautiful Soup
3. Travailler avec les Attributs d'Élément dans Beautiful Soup

book
Attributs et Contenus de l'Élément

Les méthodes abordées dans les sections précédentes renvoient des parties spécifiques du code HTML. BeautifulSoup nous permet de récupérer les attributs et le contenu d'éléments particuliers. Pour accéder aux attributs d'un objet, utilisez l'attribut .attrs. Par exemple, nous pouvons récupérer les attributs du premier élément <div>.

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.find("div").attrs)
copy

Il est important de noter que le résultat de l'utilisation de l'attribut .attrs est un dictionnaire où les clés sont les noms d'attributs et les valeurs sont leurs valeurs respectives. Si vous souhaitez obtenir le contenu stocké dans une balise, utilisez l'attribut .contents. Par exemple, examinons le contenu du premier élément <div>.

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.find("div").contents)
copy

Comme on l'a observé ci-dessus, tous les caractères de saut de ligne ont été inclus dans une liste d'éléments, ce qui n'est peut-être pas la représentation la plus souhaitable du contenu. Si vous souhaitez extraire uniquement le texte contenu dans un élément spécifique, utilisez la méthode .get_text(). Comparez les résultats de l'exemple ci-dessous avec celui obtenu précédemment.

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.find("div").get_text())
copy

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt