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 behandlades tidigare returnerar specifika delar av HTML-koden. BeautifulSoup möjliggör även åtkomst till attribut och innehåll för specifika element. För att hämta ett elements attribut används 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)
copy

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

Som observerat ovan inkluderades 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())
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

Awesome!

Completion rate improved to 4.35

bookAttribut och Innehåll för Element

Svep för att visa menyn

Metoderna som behandlades tidigare returnerar specifika delar av HTML-koden. BeautifulSoup möjliggör även åtkomst till attribut och innehåll för specifika element. För att hämta ett elements attribut används 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)
copy

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

Som observerat ovan inkluderades 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())
copy
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
some-alt