Attribut och Innehåll för Element
Metoderna som behandlades tidigare returnerar specifika delar av HTML-koden. BeautifulSoup gör det också möjligt att komma åt attribut och innehåll för specifika element. För att hämta ett elements attribut, använd attributet .attrs. Till exempel, 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)
Resultatet av att använda attributet .attrs är en ordbok där nycklarna är attributnamn och värdena är deras motsvarande värden. För att hämta innehållet inuti en tagg, använd attributet .contents. Till exempel, kontrollera 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 ingår alla radbrytningstecken i en lista med element, vilket kanske inte är den mest önskvärda representationen av innehållet. Om du vill extrahera endast 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 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
Attribut och Innehåll för Element
Svep för att visa menyn
Metoderna som behandlades tidigare returnerar specifika delar av HTML-koden. BeautifulSoup gör det också möjligt att komma åt attribut och innehåll för specifika element. För att hämta ett elements attribut, använd attributet .attrs. Till exempel, 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)
Resultatet av att använda attributet .attrs är en ordbok där nycklarna är attributnamn och värdena är deras motsvarande värden. För att hämta innehållet inuti en tagg, använd attributet .contents. Till exempel, kontrollera 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 ingår alla radbrytningstecken i en lista med element, vilket kanske inte är den mest önskvärda representationen av innehållet. Om du vill extrahera endast 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!