Avanceret Søgning
Visse HTML-tags kræver obligatoriske attributter, såsom at anchor-tagget kræver href-attributten, eller <img>
kræver src
-attributten. Hvis der ønskes en specifik attribut, kan .get()
-metoden anvendes efter .attrs
. For eksempel kan alle src
-attributter for alle <img>
-elementer hentes.
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"))
Attributten id
kan også forekomme, hvilket er ret almindeligt og bruges til at adskille elementer under samme tag. Hvis der ønskes bestemte attributværdier, kan de angives som en ordbog (i formatet attr_name
: attr_value
) som parameter til .find_all()
(umiddelbart efter angivelse af det tag, der søges efter). For eksempel er der kun interesse for <div>
-elementer med attributten class
sat til "box"
, eller der søges efter <p>
-elementet med en "id"
-attributværdi på "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"}))
.find()
-metoden blev anvendt (i stedet for .find_all()
) for at hente elementet med et specifikt id, da id er en unik identifikator, og der ikke kan være mere end ét element med samme værdi. For at sikre, at kun specifikke <div>
-elementer blev hentet, undersøges de klasser, som <div>
-elementerne har.
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"))
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Avanceret Søgning
Stryg for at vise menuen
Visse HTML-tags kræver obligatoriske attributter, såsom at anchor-tagget kræver href-attributten, eller <img>
kræver src
-attributten. Hvis der ønskes en specifik attribut, kan .get()
-metoden anvendes efter .attrs
. For eksempel kan alle src
-attributter for alle <img>
-elementer hentes.
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"))
Attributten id
kan også forekomme, hvilket er ret almindeligt og bruges til at adskille elementer under samme tag. Hvis der ønskes bestemte attributværdier, kan de angives som en ordbog (i formatet attr_name
: attr_value
) som parameter til .find_all()
(umiddelbart efter angivelse af det tag, der søges efter). For eksempel er der kun interesse for <div>
-elementer med attributten class
sat til "box"
, eller der søges efter <p>
-elementet med en "id"
-attributværdi på "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"}))
.find()
-metoden blev anvendt (i stedet for .find_all()
) for at hente elementet med et specifikt id, da id er en unik identifikator, og der ikke kan være mere end ét element med samme værdi. For at sikre, at kun specifikke <div>
-elementer blev hentet, undersøges de klasser, som <div>
-elementerne har.
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"))
Tak for dine kommentarer!