Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Attribut och Innehåll för Element | Arbeta med Elementattribut i Beautiful Soup
Web Scraping med Python

bookAttribut 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)
copy

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)
copy

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())
copy
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookAttribut 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)
copy

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)
copy

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())
copy
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
some-alt