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 | Travail avec les Attributs d’Élément dans Beautiful Soup
Web Scraping avec Python

bookAttributs et Contenus de l’Élément

Les méthodes abordées précédemment renvoient des parties spécifiques du code HTML. BeautifulSoup permet également d’accéder aux attributs et au contenu de certains éléments. Pour obtenir les attributs d’un élément, utiliser l’attribut .attrs. Par exemple, 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

Le résultat de l’utilisation de l’attribut .attrs est un dictionnaire dont les clés sont les noms des attributs et les valeurs leurs valeurs correspondantes. Pour obtenir le contenu à l’intérieur d’une balise, utiliser l’attribut .contents. Par exemple, examiner 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 observé ci-dessus, tous les caractères de saut de ligne sont inclus dans une liste d’éléments, ce qui n’est pas forcément la représentation la plus souhaitable du contenu. Pour extraire uniquement le texte à l’intérieur d’un élément spécifique, utilisez la méthode .get_text(). Comparez les résultats de l’exemple ci-dessous avec ceux obtenus 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

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4.35

bookAttributs et Contenus de l’Élément

Glissez pour afficher le menu

Les méthodes abordées précédemment renvoient des parties spécifiques du code HTML. BeautifulSoup permet également d’accéder aux attributs et au contenu de certains éléments. Pour obtenir les attributs d’un élément, utiliser l’attribut .attrs. Par exemple, 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

Le résultat de l’utilisation de l’attribut .attrs est un dictionnaire dont les clés sont les noms des attributs et les valeurs leurs valeurs correspondantes. Pour obtenir le contenu à l’intérieur d’une balise, utiliser l’attribut .contents. Par exemple, examiner 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 observé ci-dessus, tous les caractères de saut de ligne sont inclus dans une liste d’éléments, ce qui n’est pas forcément la représentation la plus souhaitable du contenu. Pour extraire uniquement le texte à l’intérieur d’un élément spécifique, utilisez la méthode .get_text(). Comparez les résultats de l’exemple ci-dessous avec ceux obtenus 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
some-alt