Attributen en Inhoud van een Element
De in de vorige secties besproken methoden geven specifieke delen van de HTML-code terug. BeautifulSoup
stelt ons in staat om de attributen en inhoud van bepaalde elementen op te halen. Om toegang te krijgen tot de attributen van een object, gebruik je het .attrs
-attribuut. Bijvoorbeeld, we kunnen de attributen van het eerste <div>
-element ophalen.
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").attrs)
Het is belangrijk om op te merken dat het resultaat van het gebruik van het .attrs
-attribuut een dictionary is waarbij de sleutels de namen van de attributen zijn en de waarden hun respectievelijke waarden. Als je de inhoud wilt verkrijgen die binnen een tag is opgeslagen, gebruik dan het .contents-attribuut. Laten we bijvoorbeeld de inhoud van het eerste <div>
-element bekijken.
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").contents)
Zoals hierboven te zien is, zijn alle regeleindetekens opgenomen in een lijst van elementen, wat mogelijk niet de meest wenselijke weergave van de inhoud is. Om alleen de tekst binnen een specifiek element te extraheren, gebruik de .get_text()
-methode. Vergelijk de resultaten van het onderstaande voorbeeld met die van eerder.
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").get_text())
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 4.35
Attributen en Inhoud van een Element
Veeg om het menu te tonen
De in de vorige secties besproken methoden geven specifieke delen van de HTML-code terug. BeautifulSoup
stelt ons in staat om de attributen en inhoud van bepaalde elementen op te halen. Om toegang te krijgen tot de attributen van een object, gebruik je het .attrs
-attribuut. Bijvoorbeeld, we kunnen de attributen van het eerste <div>
-element ophalen.
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").attrs)
Het is belangrijk om op te merken dat het resultaat van het gebruik van het .attrs
-attribuut een dictionary is waarbij de sleutels de namen van de attributen zijn en de waarden hun respectievelijke waarden. Als je de inhoud wilt verkrijgen die binnen een tag is opgeslagen, gebruik dan het .contents-attribuut. Laten we bijvoorbeeld de inhoud van het eerste <div>
-element bekijken.
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").contents)
Zoals hierboven te zien is, zijn alle regeleindetekens opgenomen in een lijst van elementen, wat mogelijk niet de meest wenselijke weergave van de inhoud is. Om alleen de tekst binnen een specifiek element te extraheren, gebruik de .get_text()
-methode. Vergelijk de resultaten van het onderstaande voorbeeld met die van eerder.
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").get_text())
Bedankt voor je feedback!