Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Avansert Søk | Arbeide med Elementattributter i Beautiful Soup
Webskraping med Python

bookAvansert Søk

Noen HTML-tagger krever obligatoriske attributter, for eksempel at anker-taggen trenger attributtet href, eller at <img>-taggen krever attributtet src. For å få tilgang til et spesifikt attributt, bruk metoden .get() etter .attrs. For eksempel, hent alle src-attributter fra alle <img>-elementer.

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

Du kan også støte på attributtet id, som ofte brukes for å skille elementer med samme tagg. For å søke etter elementer med spesifikke attributtverdier, send dem som en ordbok i formatet attr_name: attr_value til metoden .find_all(), rett etter at du har spesifisert taggen. For eksempel, finn alle <div>-elementer med attributtet class satt til "box", eller <p>-elementet med attributtverdien "id" satt til "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

Metoden .find() brukes i stedet for .find_all() for å hente et element etter dets id, siden en id er en unik identifikator og ikke kan forekomme mer enn én gang. For å bekrefte at kun bestemte <div>-elementer ble hentet, kontroller klassene som er tildelt <div>-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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4.35

bookAvansert Søk

Sveip for å vise menyen

Noen HTML-tagger krever obligatoriske attributter, for eksempel at anker-taggen trenger attributtet href, eller at <img>-taggen krever attributtet src. For å få tilgang til et spesifikt attributt, bruk metoden .get() etter .attrs. For eksempel, hent alle src-attributter fra alle <img>-elementer.

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

Du kan også støte på attributtet id, som ofte brukes for å skille elementer med samme tagg. For å søke etter elementer med spesifikke attributtverdier, send dem som en ordbok i formatet attr_name: attr_value til metoden .find_all(), rett etter at du har spesifisert taggen. For eksempel, finn alle <div>-elementer med attributtet class satt til "box", eller <p>-elementet med attributtverdien "id" satt til "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

Metoden .find() brukes i stedet for .find_all() for å hente et element etter dets id, siden en id er en unik identifikator og ikke kan forekomme mer enn én gang. For å bekrefte at kun bestemte <div>-elementer ble hentet, kontroller klassene som er tildelt <div>-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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5
some-alt