Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arbeiten mit Spezifischen Elementen | HTML-Entschlüsselung mit Beautiful Soup
Web Scraping Mit Python

bookArbeiten mit Spezifischen Elementen

Das Navigieren in einem HTML-Dokument mithilfe von Python-Attributen liefert nur das erste Vorkommen eines bestimmten Elements. Aber was ist, wenn Sie an der ersten Instanz eines Elements interessiert sind und dessen vollständigen Pfad nicht kennen? In solchen Fällen können Sie die Methode .find() verwenden, wobei Sie das Tag (ohne < >-Klammern) als Zeichenkette übergeben. Zum Beispiel suchen wir das erste <div>-Element im HTML-Dokument.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
copy

Darüber hinaus können Sie alle Instanzen eines bestimmten Elements mit der Methode .find_all() abrufen. Dies liefert eine Liste von Instanzen. Beispielsweise suchen wir alle <p>-Tags im HTML-Dokument.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
copy

Die Methode .find_all() kann auch verwendet werden, um nicht nur ein, sondern mehrere Tags zu finden, indem eine Liste von Tags übergeben wird. Zum Beispiel können alle <div>- und <title>-Elemente gesammelt 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 el in soup.find_all(["div", "title"]): print(el)
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 4.35

bookArbeiten mit Spezifischen Elementen

Swipe um das Menü anzuzeigen

Das Navigieren in einem HTML-Dokument mithilfe von Python-Attributen liefert nur das erste Vorkommen eines bestimmten Elements. Aber was ist, wenn Sie an der ersten Instanz eines Elements interessiert sind und dessen vollständigen Pfad nicht kennen? In solchen Fällen können Sie die Methode .find() verwenden, wobei Sie das Tag (ohne < >-Klammern) als Zeichenkette übergeben. Zum Beispiel suchen wir das erste <div>-Element im HTML-Dokument.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
copy

Darüber hinaus können Sie alle Instanzen eines bestimmten Elements mit der Methode .find_all() abrufen. Dies liefert eine Liste von Instanzen. Beispielsweise suchen wir alle <p>-Tags im HTML-Dokument.

123456789101112
# 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/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
copy

Die Methode .find_all() kann auch verwendet werden, um nicht nur ein, sondern mehrere Tags zu finden, indem eine Liste von Tags übergeben wird. Zum Beispiel können alle <div>- und <title>-Elemente gesammelt 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 el in soup.find_all(["div", "title"]): print(el)
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
some-alt