Attribut och Innehåll för Element
Metoderna som diskuterats i föregående avsnitt returnerar specifika delar av HTML-koden. BeautifulSoup
gör det möjligt att hämta attribut och innehåll för särskilda element. För att komma åt attributen för ett objekt används attributet .attrs
. Till exempel kan vi hämta attributen för det första <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 är viktigt att notera att resultatet av att använda attributet .attrs
är en ordbok där nycklarna är attributnamn och värdena är deras respektive värden. Om du vill hämta innehållet som lagras inom en tagg, använd attributet .contents. Till exempel kan vi undersöka innehållet i det första <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 observerats ovan inkluderas alla radbrytningstecken i en lista med element, vilket kanske inte är den mest önskvärda representationen av innehållet. För att endast extrahera texten inom ett specifikt element, använd metoden .get_text()
. Jämför resultaten från exemplet nedan med det som erhölls tidigare.
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())
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Attribut och Innehåll för Element
Svep för att visa menyn
Metoderna som diskuterats i föregående avsnitt returnerar specifika delar av HTML-koden. BeautifulSoup
gör det möjligt att hämta attribut och innehåll för särskilda element. För att komma åt attributen för ett objekt används attributet .attrs
. Till exempel kan vi hämta attributen för det första <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 är viktigt att notera att resultatet av att använda attributet .attrs
är en ordbok där nycklarna är attributnamn och värdena är deras respektive värden. Om du vill hämta innehållet som lagras inom en tagg, använd attributet .contents. Till exempel kan vi undersöka innehållet i det första <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 observerats ovan inkluderas alla radbrytningstecken i en lista med element, vilket kanske inte är den mest önskvärda representationen av innehållet. För att endast extrahera texten inom ett specifikt element, använd metoden .get_text()
. Jämför resultaten från exemplet nedan med det som erhölls tidigare.
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())
Tack för dina kommentarer!