Geavanceerd Zoeken
Bepaalde HTML-tags vereisen verplichte attributen, zoals de anchor-tag die het href-attribuut nodig heeft of <img>
die het src
-attribuut vereist. Indien een specifiek attribuut van belang is, kan de .get()
-methode na .attrs
worden gebruikt. Bijvoorbeeld, het ophalen van alle src
-attributen 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"))
Het id
-attribuut kan ook voorkomen, wat vrij gebruikelijk is en wordt gebruikt om elementen onder hetzelfde tag te onderscheiden. Indien specifieke attribuutwaarden van belang zijn, kunnen deze als een dictionary (in het formaat attr_name
: attr_value
) als parameter voor .find_all()
worden meegegeven (direct na het specificeren van de tag waarnaar gezocht wordt). Bijvoorbeeld, alleen geïnteresseerd zijn in <div>
-elementen met het class
-attribuut ingesteld op "box"
, of zoeken naar het <p>
-element met een "id"
-attribuutwaarde van "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"}))
De .find()
-methode werd gebruikt (in plaats van .find_all()
) om het element met een specifieke id op te halen, aangezien de id een unieke identificatie is en er niet meer dan één element met dezelfde waarde kan zijn. Om te garanderen dat alleen specifieke <div>
-elementen worden verkregen, worden de klassen van de <div>
-elementen onderzocht.
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"))
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain what the output of the last code block will look like?
How can I filter `<div>` elements by multiple classes?
What other attributes can I filter elements by using BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Geavanceerd Zoeken
Veeg om het menu te tonen
Bepaalde HTML-tags vereisen verplichte attributen, zoals de anchor-tag die het href-attribuut nodig heeft of <img>
die het src
-attribuut vereist. Indien een specifiek attribuut van belang is, kan de .get()
-methode na .attrs
worden gebruikt. Bijvoorbeeld, het ophalen van alle src
-attributen 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"))
Het id
-attribuut kan ook voorkomen, wat vrij gebruikelijk is en wordt gebruikt om elementen onder hetzelfde tag te onderscheiden. Indien specifieke attribuutwaarden van belang zijn, kunnen deze als een dictionary (in het formaat attr_name
: attr_value
) als parameter voor .find_all()
worden meegegeven (direct na het specificeren van de tag waarnaar gezocht wordt). Bijvoorbeeld, alleen geïnteresseerd zijn in <div>
-elementen met het class
-attribuut ingesteld op "box"
, of zoeken naar het <p>
-element met een "id"
-attribuutwaarde van "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"}))
De .find()
-methode werd gebruikt (in plaats van .find_all()
) om het element met een specifieke id op te halen, aangezien de id een unieke identificatie is en er niet meer dan één element met dezelfde waarde kan zijn. Om te garanderen dat alleen specifieke <div>
-elementen worden verkregen, worden de klassen van de <div>
-elementen onderzocht.
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"))
Bedankt voor je feedback!