Avancerad Sökning
Vissa HTML-taggar kräver obligatoriska attribut, såsom att ankartaggen behöver attributet href eller att <img>-taggen kräver attributet src. För att komma åt ett specifikt attribut, använd metoden .get() efter .attrs. Till exempel, hämta alla src-attribut från alla <img>-element.
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"))
Du kan också stöta på attributet id, som ofta används för att särskilja element med samma tagg. För att söka efter element med specifika attributvärden, skicka dem som en ordbok i formatet attr_name: attr_value till metoden .find_all(), direkt efter att du har specificerat taggen. Till exempel, hitta alla <div>-element med attributet class satt till "box" eller <p>-elementet med attributet "id" med värdet "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"}))
Metoden .find() används istället för .find_all() för att hämta ett element via dess id, eftersom ett id är en unik identifierare och inte kan förekomma mer än en gång. För att verifiera att endast specifika <div>-element hämtades, kontrollera vilka klasser som är tilldelade <div>-elementen.
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"))
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4.35
Avancerad Sökning
Svep för att visa menyn
Vissa HTML-taggar kräver obligatoriska attribut, såsom att ankartaggen behöver attributet href eller att <img>-taggen kräver attributet src. För att komma åt ett specifikt attribut, använd metoden .get() efter .attrs. Till exempel, hämta alla src-attribut från alla <img>-element.
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"))
Du kan också stöta på attributet id, som ofta används för att särskilja element med samma tagg. För att söka efter element med specifika attributvärden, skicka dem som en ordbok i formatet attr_name: attr_value till metoden .find_all(), direkt efter att du har specificerat taggen. Till exempel, hitta alla <div>-element med attributet class satt till "box" eller <p>-elementet med attributet "id" med värdet "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"}))
Metoden .find() används istället för .find_all() för att hämta ett element via dess id, eftersom ett id är en unik identifierare och inte kan förekomma mer än en gång. För att verifiera att endast specifika <div>-element hämtades, kontrollera vilka klasser som är tilldelade <div>-elementen.
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"))
Tack för dina kommentarer!