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

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

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

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

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
some-alt