Recherche Avancée
Certaines balises HTML nécessitent des attributs obligatoires, comme la balise d’ancrage qui requiert l’attribut href ou la balise <img> qui nécessite l’attribut src. Pour accéder à un attribut spécifique, utilisez la méthode .get() après .attrs. Par exemple, récupérez 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, couramment utilisé pour distinguer des éléments ayant la même balise. Pour rechercher des éléments avec des valeurs d’attribut spécifiques, transmettez-les sous forme de dictionnaire au format attr_name: attr_value à la méthode .find_all(), juste après avoir spécifié la balise. Par exemple, trouvez tous les éléments <div> avec l’attribut class défini sur "box" ou l’élément <p> dont l’attribut "id" a la valeur "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() est utilisée à la place de .find_all() pour obtenir un élément par son id, car un id est un identifiant unique et ne peut pas apparaître plus d'une fois. Pour confirmer que seuls des éléments <div> spécifiques ont été récupérés, vérifier les classes attribué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
Can you explain how the `.get()` method works with attributes in BeautifulSoup?
What other attributes can I filter by using `.find_all()`?
How do I handle elements that don't have the attribute I'm searching for?
Awesome!
Completion rate improved to 4.35
Recherche Avancée
Glissez pour afficher le menu
Certaines balises HTML nécessitent des attributs obligatoires, comme la balise d’ancrage qui requiert l’attribut href ou la balise <img> qui nécessite l’attribut src. Pour accéder à un attribut spécifique, utilisez la méthode .get() après .attrs. Par exemple, récupérez 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, couramment utilisé pour distinguer des éléments ayant la même balise. Pour rechercher des éléments avec des valeurs d’attribut spécifiques, transmettez-les sous forme de dictionnaire au format attr_name: attr_value à la méthode .find_all(), juste après avoir spécifié la balise. Par exemple, trouvez tous les éléments <div> avec l’attribut class défini sur "box" ou l’élément <p> dont l’attribut "id" a la valeur "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() est utilisée à la place de .find_all() pour obtenir un élément par son id, car un id est un identifiant unique et ne peut pas apparaître plus d'une fois. Pour confirmer que seuls des éléments <div> spécifiques ont été récupérés, vérifier les classes attribué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 !