Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Edistynyt Haku | Elementtien Attribuuttien Käsittely Beautiful Soupissa
Web Scraping Pythonilla

bookEdistynyt Haku

Jotkin HTML-tagit vaativat pakollisia attribuutteja, kuten ankkuritagi tarvitsee href-attribuutin tai <img>-tagi tarvitsee src-attribuutin. Tietyn attribuutin hakemiseen käytä .get()-metodia .attrs-attribuutin jälkeen. Esimerkiksi, hae kaikki src-attribuutit kaikista <img>-elementeistä.

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

Saatat myös törmätä id-attribuuttiin, jota käytetään yleisesti erottamaan saman tagin elementtejä toisistaan. Etsiäksesi elementtejä, joilla on tietyt attribuuttien arvot, välitä ne sanakirjana muodossa attr_name: attr_value .find_all()-metodille heti tagin määrittämisen jälkeen. Esimerkiksi, etsi kaikki <div>-elementit, joiden class-attribuutti on "box", tai <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"}))
copy

Metodia .find() käytetään .find_all()-metodin sijaan elementin hakemiseen id:n perusteella, koska id on yksilöllinen tunniste eikä sitä voi esiintyä useammin kuin kerran. Varmistaaksesi, että vain tietyt <div>-elementit haettiin, tarkista <div>-elementeille määritetyt luokat.

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"))
copy
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 4.35

bookEdistynyt Haku

Pyyhkäise näyttääksesi valikon

Jotkin HTML-tagit vaativat pakollisia attribuutteja, kuten ankkuritagi tarvitsee href-attribuutin tai <img>-tagi tarvitsee src-attribuutin. Tietyn attribuutin hakemiseen käytä .get()-metodia .attrs-attribuutin jälkeen. Esimerkiksi, hae kaikki src-attribuutit kaikista <img>-elementeistä.

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

Saatat myös törmätä id-attribuuttiin, jota käytetään yleisesti erottamaan saman tagin elementtejä toisistaan. Etsiäksesi elementtejä, joilla on tietyt attribuuttien arvot, välitä ne sanakirjana muodossa attr_name: attr_value .find_all()-metodille heti tagin määrittämisen jälkeen. Esimerkiksi, etsi kaikki <div>-elementit, joiden class-attribuutti on "box", tai <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"}))
copy

Metodia .find() käytetään .find_all()-metodin sijaan elementin hakemiseen id:n perusteella, koska id on yksilöllinen tunniste eikä sitä voi esiintyä useammin kuin kerran. Varmistaaksesi, että vain tietyt <div>-elementit haettiin, tarkista <div>-elementeille määritetyt luokat.

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"))
copy
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
some-alt