Avansert Søk
Visse HTML-tagger krever obligatoriske attributter, for eksempel må anker-taggen ha href-attributtet, eller <img>
må ha src
-attributtet. Hvis du er interessert i en bestemt attributt, kan du bruke .get()
-metoden etter .attrs
. For eksempel kan vi hente ut alle src
-attributtene til alle <img>
-elementene.
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"))
Du kan også støte på id
-attributtet, som er ganske vanlig og brukes til å skille elementer med samme tag. Hvis du er interessert i bestemte attributtverdier, kan du sende dem som en ordbok (i formatet attr_name
: attr_value
) som parameter til .find_all()
(umiddelbart etter at du har spesifisert taggen du søker etter). For eksempel er vi kun interessert i <div>
-elementer med class
-attributtet satt til "box"
, eller vi søker etter <p>
-elementet med en "id"
-attributtverdi lik "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"}))
Vi brukte metoden .find()
(i stedet for .find_all()
) for å hente elementet med en spesifikk id, siden id er en unik identifikator og det ikke kan finnes mer enn ett element med samme verdi. For å sikre at vi kun hentet bestemte <div>
-elementer, la oss undersøke hvilke klasser <div>
-elementene 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"))
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Avansert Søk
Sveip for å vise menyen
Visse HTML-tagger krever obligatoriske attributter, for eksempel må anker-taggen ha href-attributtet, eller <img>
må ha src
-attributtet. Hvis du er interessert i en bestemt attributt, kan du bruke .get()
-metoden etter .attrs
. For eksempel kan vi hente ut alle src
-attributtene til alle <img>
-elementene.
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"))
Du kan også støte på id
-attributtet, som er ganske vanlig og brukes til å skille elementer med samme tag. Hvis du er interessert i bestemte attributtverdier, kan du sende dem som en ordbok (i formatet attr_name
: attr_value
) som parameter til .find_all()
(umiddelbart etter at du har spesifisert taggen du søker etter). For eksempel er vi kun interessert i <div>
-elementer med class
-attributtet satt til "box"
, eller vi søker etter <p>
-elementet med en "id"
-attributtverdi lik "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"}))
Vi brukte metoden .find()
(i stedet for .find_all()
) for å hente elementet med en spesifikk id, siden id er en unik identifikator og det ikke kan finnes mer enn ett element med samme verdi. For å sikre at vi kun hentet bestemte <div>
-elementer, la oss undersøke hvilke klasser <div>
-elementene 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"))
Takk for tilbakemeldingene dine!