Recherche Avancée
Certains 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’attributs 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 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() 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 apparaître qu'une seule fois. Pour vérifier que seuls des éléments <div> spécifiques ont été récupérés, examiner 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?
Génial!
Completion taux amélioré à 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 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’attributs 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 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() 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 apparaître qu'une seule fois. Pour vérifier que seuls des éléments <div> spécifiques ont été récupérés, examiner 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 !