Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Werken met Specifieke Elementen | Decoderen van HTML met Beautiful Soup
Web Scraping met Python

bookWerken 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"))
copy

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"))
copy

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)
copy

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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

bookWerken 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"))
copy

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"))
copy

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)
copy

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5
some-alt