Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Avanceret Søgning | Arbejde med Elementattributter i Beautiful Soup
Web Scraping med Python

bookAvanceret Søgning

Nogle HTML-tags kræver obligatoriske attributter, såsom at anker-tagget skal have attributten href, eller at <img>-tagget kræver attributten src. For at få adgang til en specifik attribut, anvendes .get()-metoden efter .attrs. For eksempel kan alle src-attributter fra 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"))
copy

Du kan også støde på attributten id, som ofte bruges til at skelne mellem elementer med samme tag. For at søge efter elementer med specifikke attributværdier, angives de som en ordbog i formatet attr_name: attr_value til .find_all()-metoden, umiddelbart efter angivelse af tagget. For eksempel kan alle <div>-elementer med attributten class sat til "box" eller <p>-elementet med attributten "id" sat til værdien "id2" findes.

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() anvendes i stedet for .find_all() for at hente et element via dets id, da et id er en unik identifikator og ikke kan forekomme mere end én gang. For at bekræfte, at kun specifikke <div>-elementer blev hentet, kontroller de klasser, der er tildelt <div>-elementerne.

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
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 4.35

bookAvanceret Søgning

Stryg for at vise menuen

Nogle HTML-tags kræver obligatoriske attributter, såsom at anker-tagget skal have attributten href, eller at <img>-tagget kræver attributten src. For at få adgang til en specifik attribut, anvendes .get()-metoden efter .attrs. For eksempel kan alle src-attributter fra 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"))
copy

Du kan også støde på attributten id, som ofte bruges til at skelne mellem elementer med samme tag. For at søge efter elementer med specifikke attributværdier, angives de som en ordbog i formatet attr_name: attr_value til .find_all()-metoden, umiddelbart efter angivelse af tagget. For eksempel kan alle <div>-elementer med attributten class sat til "box" eller <p>-elementet med attributten "id" sat til værdien "id2" findes.

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() anvendes i stedet for .find_all() for at hente et element via dets id, da et id er en unik identifikator og ikke kan forekomme mere end én gang. For at bekræfte, at kun specifikke <div>-elementer blev hentet, kontroller de klasser, der er tildelt <div>-elementerne.

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
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
some-alt