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

bookWerken met Specifieke Elementen

Navigeren door een HTML-document met behulp van Python-attributen haalt alleen het eerste voorkomen van een element op. Als u de eerste instantie van een element wilt vinden zonder het volledige pad te kennen, gebruikt u de .find()-methode en geeft u de tagnaam als een string door (zonder < >-haakjes). Zoek bijvoorbeeld het eerste <div>-element in het HTML-document.

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

U kunt ook alle instanties van een specifiek element ophalen met de .find_all()-methode. Deze retourneert een lijst met alle overeenkomsten. Zoek bijvoorbeeld alle <p>-tags in het HTML-document.

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

De methode .find_all() kan worden gebruikt om meerdere tags te vinden door een lijst met tagnamen door 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 attributes can I use with `.find()` or `.find_all()` to filter elements?

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 haalt alleen het eerste voorkomen van een element op. Als u de eerste instantie van een element wilt vinden zonder het volledige pad te kennen, gebruikt u de .find()-methode en geeft u de tagnaam als een string door (zonder < >-haakjes). Zoek bijvoorbeeld het eerste <div>-element in het HTML-document.

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

U kunt ook alle instanties van een specifiek element ophalen met de .find_all()-methode. Deze retourneert een lijst met alle overeenkomsten. Zoek bijvoorbeeld alle <p>-tags in het HTML-document.

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

De methode .find_all() kan worden gebruikt om meerdere tags te vinden door een lijst met tagnamen door 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