Recherche Avancée
Certains balises HTML nécessitent des attributs obligatoires, comme la balise d’ancrage qui requiert l’attribut href ou <img>
qui nécessite l’attribut src
. Si un attribut spécifique vous intéresse, il est possible d’utiliser la méthode .get()
après .attrs
. Par exemple, récupérons tous les attributs src
de tous les éléments <img>
.
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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for img in soup.find_all("img"): print(img.attrs.get("src"))
Vous pouvez également rencontrer l’attribut id
, qui est très courant et sert à distinguer les éléments sous la même balise. Si des valeurs d’attribut spécifiques vous intéressent, il est possible de les passer sous forme de dictionnaire (au format attr_name
: attr_value
) en paramètre de .find_all()
(juste après avoir spécifié la balise recherchée). Par exemple, seuls les éléments <div>
avec l’attribut class
défini à "box"
nous intéressent, ou bien nous recherchons l’élément <p>
dont la valeur de l’attribut "id"
est "id2"
.
12345678910111213141516# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
La méthode .find()
(au lieu de .find_all()
) a été utilisée pour récupérer l’élément avec un identifiant spécifique, car l’id est un identifiant unique et il ne peut pas y avoir plus d’un élément avec la même valeur. Pour garantir que seuls certains éléments <div>
soient obtenus, examinons les classes associées aux éléments <div>
.
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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div"): print(div.attrs.get("class"))
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
Awesome!
Completion rate improved to 4.35
Recherche Avancée
Glissez pour afficher le menu
Certains balises HTML nécessitent des attributs obligatoires, comme la balise d’ancrage qui requiert l’attribut href ou <img>
qui nécessite l’attribut src
. Si un attribut spécifique vous intéresse, il est possible d’utiliser la méthode .get()
après .attrs
. Par exemple, récupérons tous les attributs src
de tous les éléments <img>
.
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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for img in soup.find_all("img"): print(img.attrs.get("src"))
Vous pouvez également rencontrer l’attribut id
, qui est très courant et sert à distinguer les éléments sous la même balise. Si des valeurs d’attribut spécifiques vous intéressent, il est possible de les passer sous forme de dictionnaire (au format attr_name
: attr_value
) en paramètre de .find_all()
(juste après avoir spécifié la balise recherchée). Par exemple, seuls les éléments <div>
avec l’attribut class
défini à "box"
nous intéressent, ou bien nous recherchons l’élément <p>
dont la valeur de l’attribut "id"
est "id2"
.
12345678910111213141516# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
La méthode .find()
(au lieu de .find_all()
) a été utilisée pour récupérer l’élément avec un identifiant spécifique, car l’id est un identifiant unique et il ne peut pas y avoir plus d’un élément avec la même valeur. Pour garantir que seuls certains éléments <div>
soient obtenus, examinons les classes associées aux éléments <div>
.
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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div"): print(div.attrs.get("class"))
Merci pour vos commentaires !