Attributen en Inhoud van Element
De eerder besproken methoden geven specifieke delen van de HTML-code terug. BeautifulSoup maakt het ook mogelijk om de attributen en inhoud van bepaalde elementen te benaderen. Gebruik het attribuut .attrs om de attributen van een element op te vragen. Bijvoorbeeld, verkrijg de attributen van het eerste <div>-element.
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 resultaat van het gebruik van het attribuut .attrs is een woordenboek waarbij de sleutels de namen van de attributen zijn en de waarden de bijbehorende waarden. Gebruik het attribuut .contents om de inhoud binnen een tag op te vragen. Controleer bijvoorbeeld de inhoud van het eerste <div>-element.
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 met elementen, wat mogelijk niet de meest wenselijke weergave van de inhoud is. Indien alleen de tekst binnen een specifiek element gewenst is, gebruik dan de .get_text()-methode. Vergelijk de resultaten van het onderstaande voorbeeld met die van het eerdere voorbeeld.
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.
What is the difference between `.attrs`, `.contents`, and `.get_text()` in BeautifulSoup?
Can you explain why `.get_text()` is preferred for extracting text content?
How can I extract attributes and text from other HTML elements, not just `<div>`?
Awesome!
Completion rate improved to 4.35
Attributen en Inhoud van Element
Veeg om het menu te tonen
De eerder besproken methoden geven specifieke delen van de HTML-code terug. BeautifulSoup maakt het ook mogelijk om de attributen en inhoud van bepaalde elementen te benaderen. Gebruik het attribuut .attrs om de attributen van een element op te vragen. Bijvoorbeeld, verkrijg de attributen van het eerste <div>-element.
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 resultaat van het gebruik van het attribuut .attrs is een woordenboek waarbij de sleutels de namen van de attributen zijn en de waarden de bijbehorende waarden. Gebruik het attribuut .contents om de inhoud binnen een tag op te vragen. Controleer bijvoorbeeld de inhoud van het eerste <div>-element.
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 met elementen, wat mogelijk niet de meest wenselijke weergave van de inhoud is. Indien alleen de tekst binnen een specifiek element gewenst is, gebruik dan de .get_text()-methode. Vergelijk de resultaten van het onderstaande voorbeeld met die van het eerdere voorbeeld.
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!