Erweiterte Suche
Einige HTML-Tags erfordern zwingende Attribute, wie etwa das Ankertag, das das Attribut href benötigt, oder das <img>-Tag, das das Attribut src voraussetzt. Um auf ein bestimmtes Attribut zuzugreifen, wird die Methode .get() nach .attrs verwendet. Beispielsweise können so alle src-Attribute aus sämtlichen <img>-Elementen abgerufen werden.
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"))
Das Attribut id kann ebenfalls auftreten und wird häufig verwendet, um Elemente mit demselben Tag zu unterscheiden. Um nach Elementen mit bestimmten Attributwerten zu suchen, werden diese als Dictionary im Format attr_name: attr_value an die Methode .find_all() übergeben, direkt nach der Angabe des Tags. Beispielsweise können so alle <div>-Elemente mit dem Attribut class auf "box" oder das <p>-Element mit dem Attributwert "id" für "id2" gefunden werden.
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"}))
Die Methode .find() wird anstelle von .find_all() verwendet, um ein Element anhand seiner id zu erhalten, da eine id ein eindeutiger Bezeichner ist und nicht mehrfach vorkommen kann. Um zu überprüfen, dass nur bestimmte <div>-Elemente abgerufen wurden, sollten die den <div>-Elementen zugewiesenen Klassen überprüft werden.
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"))
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
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
Erweiterte Suche
Swipe um das Menü anzuzeigen
Einige HTML-Tags erfordern zwingende Attribute, wie etwa das Ankertag, das das Attribut href benötigt, oder das <img>-Tag, das das Attribut src voraussetzt. Um auf ein bestimmtes Attribut zuzugreifen, wird die Methode .get() nach .attrs verwendet. Beispielsweise können so alle src-Attribute aus sämtlichen <img>-Elementen abgerufen werden.
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"))
Das Attribut id kann ebenfalls auftreten und wird häufig verwendet, um Elemente mit demselben Tag zu unterscheiden. Um nach Elementen mit bestimmten Attributwerten zu suchen, werden diese als Dictionary im Format attr_name: attr_value an die Methode .find_all() übergeben, direkt nach der Angabe des Tags. Beispielsweise können so alle <div>-Elemente mit dem Attribut class auf "box" oder das <p>-Element mit dem Attributwert "id" für "id2" gefunden werden.
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"}))
Die Methode .find() wird anstelle von .find_all() verwendet, um ein Element anhand seiner id zu erhalten, da eine id ein eindeutiger Bezeichner ist und nicht mehrfach vorkommen kann. Um zu überprüfen, dass nur bestimmte <div>-Elemente abgerufen wurden, sollten die den <div>-Elementen zugewiesenen Klassen überprüft werden.
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"))
Danke für Ihr Feedback!