Travail Avec des Éléments Spécifiques
La navigation dans un document HTML à l'aide des attributs Python permet de récupérer uniquement la première occurrence d'un élément. Pour trouver la première instance d'un élément sans connaître son chemin complet, utiliser la méthode .find() et passer le nom de la balise sous forme de chaîne de caractères (sans les crochets < >). Par exemple, localiser le premier élément <div> dans le document HTML.
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"))
Il est également possible de récupérer toutes les instances d'un élément spécifique à l'aide de la méthode .find_all(). Celle-ci retourne une liste de toutes les correspondances. Par exemple, trouver toutes les balises <p> dans le document HTML.
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_all("p"))
La méthode .find_all() permet de localiser plusieurs balises en passant une liste de noms de balises. Par exemple, collecter tous les éléments <div> et <title>.
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 el in soup.find_all(["div", "title"]): print(el)
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 the difference between `.find()` and `.find_all()` in BeautifulSoup?
How can I extract the text content from the elements found?
What other attributes can I use with `.find()` or `.find_all()` to filter elements?
Awesome!
Completion rate improved to 4.35
Travail Avec des Éléments Spécifiques
Glissez pour afficher le menu
La navigation dans un document HTML à l'aide des attributs Python permet de récupérer uniquement la première occurrence d'un élément. Pour trouver la première instance d'un élément sans connaître son chemin complet, utiliser la méthode .find() et passer le nom de la balise sous forme de chaîne de caractères (sans les crochets < >). Par exemple, localiser le premier élément <div> dans le document HTML.
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"))
Il est également possible de récupérer toutes les instances d'un élément spécifique à l'aide de la méthode .find_all(). Celle-ci retourne une liste de toutes les correspondances. Par exemple, trouver toutes les balises <p> dans le document HTML.
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_all("p"))
La méthode .find_all() permet de localiser plusieurs balises en passant une liste de noms de balises. Par exemple, collecter tous les éléments <div> et <title>.
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 el in soup.find_all(["div", "title"]): print(el)
Merci pour vos commentaires !