Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Attributter og Indhold af Element | Arbejde med Elementattributter i Beautiful Soup
Web Scraping med Python

bookAttributter og Indhold af Element

De tidligere gennemgåede metoder returnerer specifikke dele af HTML-koden. BeautifulSoup giver dig også mulighed for at tilgå attributter og indhold af bestemte elementer. For at hente et elements attributter anvendes .attrs-attributten. For eksempel kan du hente attributterne for det første <div>-element.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").attrs)
copy

Resultatet af at bruge .attrs-attributten er en ordbog, hvor nøglerne er attributnavne og værdierne er deres tilsvarende værdier. For at få indholdet inde i et tag anvendes .contents-attributten. For eksempel kan du undersøge indholdet af det første <div>-element.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").contents)
copy

Som det ses ovenfor, blev alle linjeskiftstegn inkluderet i en liste af elementer, hvilket muligvis ikke er den mest ønskelige repræsentation af indholdet. Hvis du kun ønsker at udtrække teksten inden for et specifikt element, kan du benytte metoden .get_text(). Sammenlign resultaterne fra eksemplet nedenfor med det tidligere opnåede resultat.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").get_text())
copy
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

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

bookAttributter og Indhold af Element

Stryg for at vise menuen

De tidligere gennemgåede metoder returnerer specifikke dele af HTML-koden. BeautifulSoup giver dig også mulighed for at tilgå attributter og indhold af bestemte elementer. For at hente et elements attributter anvendes .attrs-attributten. For eksempel kan du hente attributterne for det første <div>-element.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").attrs)
copy

Resultatet af at bruge .attrs-attributten er en ordbog, hvor nøglerne er attributnavne og værdierne er deres tilsvarende værdier. For at få indholdet inde i et tag anvendes .contents-attributten. For eksempel kan du undersøge indholdet af det første <div>-element.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").contents)
copy

Som det ses ovenfor, blev alle linjeskiftstegn inkluderet i en liste af elementer, hvilket muligvis ikke er den mest ønskelige repræsentation af indholdet. Hvis du kun ønsker at udtrække teksten inden for et specifikt element, kan du benytte metoden .get_text(). Sammenlign resultaterne fra eksemplet nedenfor med det tidligere opnåede resultat.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div").get_text())
copy
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
some-alt