Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Geavanceerd Zoeken | Werken met Elementattributen in Beautiful Soup
Web Scraping met Python

bookGeavanceerd Zoeken

Sommige HTML-tags vereisen verplichte attributen, zoals de anchor-tag die het href-attribuut nodig heeft of de <img>-tag die het src-attribuut vereist. Om toegang te krijgen tot een specifiek attribuut, gebruik de .get()-methode na .attrs. Bijvoorbeeld, alle src-attributen ophalen van alle <img>-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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

Je kunt ook het id-attribuut tegenkomen, dat vaak wordt gebruikt om elementen met dezelfde tag te onderscheiden. Om te zoeken naar elementen met specifieke attribuutwaarden, geef deze door als een dictionary in het formaat attr_name: attr_value aan de .find_all()-methode, direct na het specificeren van de tag. Bijvoorbeeld, alle <div>-elementen vinden met het class-attribuut ingesteld op "box" of het <p>-element met de "id"-attribuutwaarde "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

De .find()-methode wordt gebruikt in plaats van .find_all() om een element op zijn id te verkrijgen, aangezien een id een unieke identificatie is en niet meer dan één keer mag voorkomen. Om te bevestigen dat alleen specifieke <div>-elementen zijn opgehaald, controleer de klassen die aan de <div>-elementen zijn toegewezen.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. 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 how the `.get()` method works with attributes in BeautifulSoup?

What other attributes can I filter by using `.find_all()`?

How do I handle elements that don't have the attribute I'm searching for?

Awesome!

Completion rate improved to 4.35

bookGeavanceerd Zoeken

Veeg om het menu te tonen

Sommige HTML-tags vereisen verplichte attributen, zoals de anchor-tag die het href-attribuut nodig heeft of de <img>-tag die het src-attribuut vereist. Om toegang te krijgen tot een specifiek attribuut, gebruik de .get()-methode na .attrs. Bijvoorbeeld, alle src-attributen ophalen van alle <img>-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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

Je kunt ook het id-attribuut tegenkomen, dat vaak wordt gebruikt om elementen met dezelfde tag te onderscheiden. Om te zoeken naar elementen met specifieke attribuutwaarden, geef deze door als een dictionary in het formaat attr_name: attr_value aan de .find_all()-methode, direct na het specificeren van de tag. Bijvoorbeeld, alle <div>-elementen vinden met het class-attribuut ingesteld op "box" of het <p>-element met de "id"-attribuutwaarde "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

De .find()-methode wordt gebruikt in plaats van .find_all() om een element op zijn id te verkrijgen, aangezien een id een unieke identificatie is en niet meer dan één keer mag voorkomen. Om te bevestigen dat alleen specifieke <div>-elementen zijn opgehaald, controleer de klassen die aan de <div>-elementen zijn toegewezen.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 5
some-alt