Attributter 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, anvend .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)
Resultatet af brugen af .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, anvend .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)
Som det kan ses ovenfor, blev alle linjeskiftstegn inkluderet i en liste over 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, benyt metoden .get_text(). Sammenlign resultaterne fra eksemplet nedenfor med det tidligere opnåede.
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())
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
What is the difference between `.attrs`, `.contents`, and `.get_text()` in BeautifulSoup?
Can you explain why `.get_text()` is preferred for extracting text content?
How can I extract attributes and text from other HTML elements, not just `<div>`?
Awesome!
Completion rate improved to 4.35
Attributter 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, anvend .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)
Resultatet af brugen af .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, anvend .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)
Som det kan ses ovenfor, blev alle linjeskiftstegn inkluderet i en liste over 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, benyt metoden .get_text(). Sammenlign resultaterne fra eksemplet nedenfor med det tidligere opnåede.
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())
Tak for dine kommentarer!