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 .get()-metoden 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 .find_all()-metoden, 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
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 .get()-metoden 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 .find_all()-metoden, 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!