Attributter og Innhold i Element
Metodene som ble diskutert i de forrige seksjonene returnerer spesifikke deler av HTML-koden. BeautifulSoup
gjør det mulig å hente attributter og innhold fra bestemte elementer. For å få tilgang til attributtene til et objekt, bruk .attrs
-attributtet. For eksempel kan vi hente attributtene til det første <div>
-elementet.
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)
Det er viktig å merke seg at resultatet av å bruke .attrs
-attributtet er en ordbok der nøklene er attributtnavn og verdiene er deres respektive verdier. Hvis du ønsker å hente innholdet som er lagret i en tag, bruk .contents-attributtet. For eksempel kan vi undersøke innholdet i det første <div>
-elementet.
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 observert ovenfor, ble alle linjeskifttegn inkludert i en liste over elementer, noe som kanskje ikke er den mest hensiktsmessige representasjonen av innholdet. For å hente ut kun teksten innenfor et spesifikt element, bruk metoden .get_text()
. Sammenlign resultatene fra eksempelet nedenfor med det som ble oppnådd tidligere.
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())
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
What is the difference between .attrs, .contents, and .get_text() in BeautifulSoup?
Can you explain how to use .attrs to get specific attribute values?
How can I extract text from other HTML elements using BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Attributter og Innhold i Element
Sveip for å vise menyen
Metodene som ble diskutert i de forrige seksjonene returnerer spesifikke deler av HTML-koden. BeautifulSoup
gjør det mulig å hente attributter og innhold fra bestemte elementer. For å få tilgang til attributtene til et objekt, bruk .attrs
-attributtet. For eksempel kan vi hente attributtene til det første <div>
-elementet.
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)
Det er viktig å merke seg at resultatet av å bruke .attrs
-attributtet er en ordbok der nøklene er attributtnavn og verdiene er deres respektive verdier. Hvis du ønsker å hente innholdet som er lagret i en tag, bruk .contents-attributtet. For eksempel kan vi undersøke innholdet i det første <div>
-elementet.
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 observert ovenfor, ble alle linjeskifttegn inkludert i en liste over elementer, noe som kanskje ikke er den mest hensiktsmessige representasjonen av innholdet. For å hente ut kun teksten innenfor et spesifikt element, bruk metoden .get_text()
. Sammenlign resultatene fra eksempelet nedenfor med det som ble oppnådd tidligere.
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())
Takk for tilbakemeldingene dine!