Edistynyt Haku
Tietyt HTML-tagit vaativat pakollisia attribuutteja, kuten ankkuritagi tarvitsee href-attribuutin tai <img>
vaatii src
-attribuutin. Jos olet kiinnostunut tietystä attribuutista, voit käyttää .get()
-metodia .attrs
-avainsanan jälkeen. Esimerkiksi haetaan kaikkien src
-elementtien <img>
-attribuutit.
12345678910111213# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for img in soup.find_all("img"): print(img.attrs.get("src"))
id
-attribuutti voi myös esiintyä usein, ja sitä käytetään erottamaan saman tagin elementtejä toisistaan. Jos olet kiinnostunut tietyistä attribuuttien arvoista, voit välittää ne sanakirjana (muodossa attr_name
: attr_value
) parametrina .find_all()
-metodille (heti tagin määrittämisen jälkeen). Esimerkiksi olemme kiinnostuneita vain niistä <div>
-elementeistä, joiden class
-attribuutin arvo on "box"
, tai etsimme <p>
-elementtiä, jonka "id"
-attribuutin arvo on "id2"
.
12345678910111213141516# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
Käytettiin .find()
-metodia (sen sijaan, että olisi käytetty .find_all()
), jotta saatiin elementti tietyllä id-arvolla, koska id on yksilöllinen tunniste eikä samalla arvolla voi olla useampaa elementtiä. Jotta saadaan vain tietyt <div>
-elementit, tarkastellaan, mitä luokkia <div>
-elementeillä on.
12345678910111213# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div"): print(div.attrs.get("class"))
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain what the output of the last code block will look like?
How can I filter `<div>` elements by multiple classes?
What other attributes can I filter elements by using BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Edistynyt Haku
Pyyhkäise näyttääksesi valikon
Tietyt HTML-tagit vaativat pakollisia attribuutteja, kuten ankkuritagi tarvitsee href-attribuutin tai <img>
vaatii src
-attribuutin. Jos olet kiinnostunut tietystä attribuutista, voit käyttää .get()
-metodia .attrs
-avainsanan jälkeen. Esimerkiksi haetaan kaikkien src
-elementtien <img>
-attribuutit.
12345678910111213# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for img in soup.find_all("img"): print(img.attrs.get("src"))
id
-attribuutti voi myös esiintyä usein, ja sitä käytetään erottamaan saman tagin elementtejä toisistaan. Jos olet kiinnostunut tietyistä attribuuttien arvoista, voit välittää ne sanakirjana (muodossa attr_name
: attr_value
) parametrina .find_all()
-metodille (heti tagin määrittämisen jälkeen). Esimerkiksi olemme kiinnostuneita vain niistä <div>
-elementeistä, joiden class
-attribuutin arvo on "box"
, tai etsimme <p>
-elementtiä, jonka "id"
-attribuutin arvo on "id2"
.
12345678910111213141516# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
Käytettiin .find()
-metodia (sen sijaan, että olisi käytetty .find_all()
), jotta saatiin elementti tietyllä id-arvolla, koska id on yksilöllinen tunniste eikä samalla arvolla voi olla useampaa elementtiä. Jotta saadaan vain tietyt <div>
-elementit, tarkastellaan, mitä luokkia <div>
-elementeillä on.
12345678910111213# 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/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for div in soup.find_all("div"): print(div.attrs.get("class"))
Kiitos palautteestasi!