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

Avanceret 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 metoden .get() 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"))

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 metoden .find_all(), 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"}))

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"))
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

Sektion 3. Kapitel 5
some-alt