Elementin Attribuutit ja Sisällöt
Aiemmin käsitellyt menetelmät palauttavat tiettyjä osia HTML-koodista. BeautifulSoup mahdollistaa myös tiettyjen elementtien attribuuttien ja sisällön tarkastelun. Elementin attribuuttien hakemiseen käytetään .attrs-attribuuttia. Esimerkiksi ensimmäisen <div>-elementin attribuuttien hakeminen.
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)
.attrs-ominaisuuden käytön tuloksena saadaan sanakirja, jossa avaimina ovat attribuuttien nimet ja arvoina niiden vastaavat arvot. Elementin sisällön hakemiseen käytetään .contents-attribuuttia. Esimerkiksi ensimmäisen <div>-elementin sisällön tarkastelu.
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)
Kuten yllä havaittiin, kaikki rivinvaihtomerkit sisältyivät elementtilistaan, mikä ei välttämättä ole sisällön kannalta toivottavin esitystapa. Jos haluat poimia vain tietyn elementin sisällä olevan tekstin, käytä .get_text()-metodia. Vertaa alla olevan esimerkin tuloksia aiemmin saatuihin.
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())
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Elementin Attribuutit ja Sisällöt
Pyyhkäise näyttääksesi valikon
Aiemmin käsitellyt menetelmät palauttavat tiettyjä osia HTML-koodista. BeautifulSoup mahdollistaa myös tiettyjen elementtien attribuuttien ja sisällön tarkastelun. Elementin attribuuttien hakemiseen käytetään .attrs-attribuuttia. Esimerkiksi ensimmäisen <div>-elementin attribuuttien hakeminen.
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)
.attrs-ominaisuuden käytön tuloksena saadaan sanakirja, jossa avaimina ovat attribuuttien nimet ja arvoina niiden vastaavat arvot. Elementin sisällön hakemiseen käytetään .contents-attribuuttia. Esimerkiksi ensimmäisen <div>-elementin sisällön tarkastelu.
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)
Kuten yllä havaittiin, kaikki rivinvaihtomerkit sisältyivät elementtilistaan, mikä ei välttämättä ole sisällön kannalta toivottavin esitystapa. Jos haluat poimia vain tietyn elementin sisällä olevan tekstin, käytä .get_text()-metodia. Vertaa alla olevan esimerkin tuloksia aiemmin saatuihin.
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())
Kiitos palautteestasi!