Elementin Attribuutit ja Sisällöt
Aiemmissa osioissa käsitellyt menetelmät palauttavat HTML-koodin tiettyjä osia. BeautifulSoup
mahdollistaa tiettyjen elementtien attribuuttien ja sisällön hakemisen. Objektin attribuutteihin pääsee käsiksi käyttämällä .attrs
-attribuuttia. Esimerkiksi voimme hakea ensimmäisen <div>
-elementin attribuutit.
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)
On tärkeää huomata, että .attrs
-attribuutin käytön tuloksena saadaan sanakirja, jossa avaimet ovat attribuuttien nimiä ja arvot niiden vastaavia arvoja. Jos haluat hakea tagin sisällä olevan sisällön, käytä .contents-attribuuttia. Tarkastellaan esimerkiksi ensimmäisen <div>
-elementin sisältöä.
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 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
Elementin Attribuutit ja Sisällöt
Pyyhkäise näyttääksesi valikon
Aiemmissa osioissa käsitellyt menetelmät palauttavat HTML-koodin tiettyjä osia. BeautifulSoup
mahdollistaa tiettyjen elementtien attribuuttien ja sisällön hakemisen. Objektin attribuutteihin pääsee käsiksi käyttämällä .attrs
-attribuuttia. Esimerkiksi voimme hakea ensimmäisen <div>
-elementin attribuutit.
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)
On tärkeää huomata, että .attrs
-attribuutin käytön tuloksena saadaan sanakirja, jossa avaimet ovat attribuuttien nimiä ja arvot niiden vastaavia arvoja. Jos haluat hakea tagin sisällä olevan sisällön, käytä .contents-attribuuttia. Tarkastellaan esimerkiksi ensimmäisen <div>
-elementin sisältöä.
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!