Ricerca Avanzata
Alcuni tag HTML richiedono attributi obbligatori, come il tag anchor che necessita dell'attributo href o <img>
che richiede l'attributo src
. Se si è interessati a un attributo specifico, è possibile utilizzare il metodo .get()
dopo .attrs
. Ad esempio, vediamo come recuperare tutti gli attributi src
di tutti gli elementi <img>
.
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"))
Si può anche incontrare l'attributo id
, che è piuttosto comune e viene utilizzato per distinguere elementi con lo stesso tag. Se si è interessati a valori specifici di attributi, è possibile passarli come dizionario (nel formato attr_name
: attr_value
) come parametro per .find_all()
(immediatamente dopo aver specificato il tag da cercare). Ad esempio, siamo interessati solo agli elementi <div>
con l'attributo class
impostato su "box"
, oppure stiamo cercando l'elemento <p>
con un valore dell'attributo "id"
pari a "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"}))
È stato utilizzato il metodo .find()
(invece di .find_all()
) per recuperare l'elemento con uno specifico id, poiché l'id è un identificatore univoco e non può esserci più di un elemento con lo stesso valore. Per garantire di ottenere solo gli elementi <div>
specifici, esaminiamo le classi associate agli elementi <div>
.
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"))
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4.35
Ricerca Avanzata
Scorri per mostrare il menu
Alcuni tag HTML richiedono attributi obbligatori, come il tag anchor che necessita dell'attributo href o <img>
che richiede l'attributo src
. Se si è interessati a un attributo specifico, è possibile utilizzare il metodo .get()
dopo .attrs
. Ad esempio, vediamo come recuperare tutti gli attributi src
di tutti gli elementi <img>
.
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"))
Si può anche incontrare l'attributo id
, che è piuttosto comune e viene utilizzato per distinguere elementi con lo stesso tag. Se si è interessati a valori specifici di attributi, è possibile passarli come dizionario (nel formato attr_name
: attr_value
) come parametro per .find_all()
(immediatamente dopo aver specificato il tag da cercare). Ad esempio, siamo interessati solo agli elementi <div>
con l'attributo class
impostato su "box"
, oppure stiamo cercando l'elemento <p>
con un valore dell'attributo "id"
pari a "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"}))
È stato utilizzato il metodo .find()
(invece di .find_all()
) per recuperare l'elemento con uno specifico id, poiché l'id è un identificatore univoco e non può esserci più di un elemento con lo stesso valore. Per garantire di ottenere solo gli elementi <div>
specifici, esaminiamo le classi associate agli elementi <div>
.
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"))
Grazie per i tuoi commenti!