Werken met Specifieke Elementen
Navigeren door een HTML-document met behulp van Python-attributen levert alleen het eerste voorkomen van een bepaald element op. Maar wat als je geïnteresseerd bent in het eerste exemplaar van een element en het volledige pad niet kent? In dergelijke gevallen kun je de .find()
-methode gebruiken, waarbij je de tag (zonder < >
-haakjes) als string doorgeeft. Bijvoorbeeld, laten we het eerste <div>
-element in het HTML-document lokaliseren.
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"))
Daarnaast kun je alle exemplaren van een specifiek element ophalen met de .find_all()
-methode. Dit levert een lijst met exemplaren op. Bijvoorbeeld, laten we alle <p>
-tags in het HTML-document lokaliseren.
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"))
Het is ook mogelijk om de .find_all()
-methode te gebruiken om niet slechts één, maar meerdere tags te vinden door een lijst met tags op te geven. Bijvoorbeeld, verzamel alle <div>
- en <title>
-elementen.
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)
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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 methods can I use to search for elements in BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Werken met Specifieke Elementen
Veeg om het menu te tonen
Navigeren door een HTML-document met behulp van Python-attributen levert alleen het eerste voorkomen van een bepaald element op. Maar wat als je geïnteresseerd bent in het eerste exemplaar van een element en het volledige pad niet kent? In dergelijke gevallen kun je de .find()
-methode gebruiken, waarbij je de tag (zonder < >
-haakjes) als string doorgeeft. Bijvoorbeeld, laten we het eerste <div>
-element in het HTML-document lokaliseren.
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"))
Daarnaast kun je alle exemplaren van een specifiek element ophalen met de .find_all()
-methode. Dit levert een lijst met exemplaren op. Bijvoorbeeld, laten we alle <p>
-tags in het HTML-document lokaliseren.
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"))
Het is ook mogelijk om de .find_all()
-methode te gebruiken om niet slechts één, maar meerdere tags te vinden door een lijst met tags op te geven. Bijvoorbeeld, verzamel alle <div>
- en <title>
-elementen.
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)
Bedankt voor je feedback!