Avanceret Søgning
Nogle HTML-tags kræver obligatoriske attributter, såsom at anker-tagget skal have attributten href, eller at <img>-tagget kræver attributten src. For at få adgang til en specifik attribut, anvendes metoden .get() efter .attrs. For eksempel kan alle src-attributter fra alle <img>-elementer hentes.
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 også støde på attributten id, som ofte bruges til at skelne mellem elementer med samme tag. For at søge efter elementer med specifikke attributværdier, angives de som en ordbog i formatet attr_name: attr_value til metoden .find_all(), umiddelbart efter angivelse af tagget. For eksempel kan alle <div>-elementer med attributten class sat til "box" eller <p>-elementet med attributten "id" sat til værdien "id2" findes.
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() anvendes i stedet for .find_all() for at hente et element via dets id, da et id er en unik identifikator og ikke kan forekomme mere end én gang. For at bekræfte, at kun specifikke <div>-elementer blev hentet, kontroller de klasser, der er tildelt <div>-elementerne.
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"))
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain how the `.get()` method works with attributes in BeautifulSoup?
What other attributes can I filter by using `.find_all()`?
How do I handle elements that don't have the attribute I'm searching for?
Awesome!
Completion rate improved to 4.35
Avanceret Søgning
Stryg for at vise menuen
Nogle HTML-tags kræver obligatoriske attributter, såsom at anker-tagget skal have attributten href, eller at <img>-tagget kræver attributten src. For at få adgang til en specifik attribut, anvendes metoden .get() efter .attrs. For eksempel kan alle src-attributter fra alle <img>-elementer hentes.
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 også støde på attributten id, som ofte bruges til at skelne mellem elementer med samme tag. For at søge efter elementer med specifikke attributværdier, angives de som en ordbog i formatet attr_name: attr_value til metoden .find_all(), umiddelbart efter angivelse af tagget. For eksempel kan alle <div>-elementer med attributten class sat til "box" eller <p>-elementet med attributten "id" sat til værdien "id2" findes.
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() anvendes i stedet for .find_all() for at hente et element via dets id, da et id er en unik identifikator og ikke kan forekomme mere end én gang. For at bekræfte, at kun specifikke <div>-elementer blev hentet, kontroller de klasser, der er tildelt <div>-elementerne.
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"))
Tak for dine kommentarer!