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
permet d'extraire les attributs et le contenu de certains éléments. Pour accéder aux attributs d'un objet, utilisez l'attribut .attrs
. Par exemple, il est possible de 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)
Il est important de noter que le résultat de l'utilisation de l'attribut .attrs
est un dictionnaire dont les clés correspondent aux noms des attributs et les valeurs à leurs valeurs respectives. Pour 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)
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, utiliser la méthode .get_text()
. Comparer 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())
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
What is the difference between .attrs, .contents, and .get_text() in BeautifulSoup?
Can you explain how to use .attrs to get specific attribute values?
How can I extract text from other HTML elements using BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Attributs et Contenus de l'Élément
Glissez pour afficher le menu
Les méthodes abordées dans les sections précédentes renvoient des parties spécifiques du code HTML. BeautifulSoup
permet d'extraire les attributs et le contenu de certains éléments. Pour accéder aux attributs d'un objet, utilisez l'attribut .attrs
. Par exemple, il est possible de 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)
Il est important de noter que le résultat de l'utilisation de l'attribut .attrs
est un dictionnaire dont les clés correspondent aux noms des attributs et les valeurs à leurs valeurs respectives. Pour 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)
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, utiliser la méthode .get_text()
. Comparer 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())
Merci pour vos commentaires !