Kursinhalt
Web Scraping mit Python
Web Scraping mit Python
Attribute und Inhalte Eines Elements
Die in den vorherigen Abschnitten besprochenen Methoden geben spezifische Teile des HTML-Codes zurück. BeautifulSoup ermöglicht es uns, die Attribute und Inhalte bestimmter Elemente abzurufen. Um auf die Attribute eines Objekts zuzugreifen, verwenden Sie das .attrs
-Attribut. Zum Beispiel können wir die Attribute des ersten <div>
-Elements abrufen.
# 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").attrs)
Es ist wichtig zu beachten, dass das Ergebnis der Verwendung des .attrs
-Attributs ein Wörterbuch ist, in dem die Schlüssel die Attributnamen und die Werte deren jeweilige Werte darstellen. Wenn Sie den in einem Tag gespeicherten Inhalt abrufen möchten, verwenden Sie das .contents-Attribut. Zum Beispiel lassen Sie uns den Inhalt des ersten <div>
-Elements untersuchen.
# 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").contents)
Wie oben beobachtet, wurden alle Zeilenumbruchzeichen in eine Liste von Elementen aufgenommen, was möglicherweise nicht die erwünschte Darstellung des Inhalts ist. Wenn Sie nur den Text innerhalb eines bestimmten Elements extrahieren möchten, verwenden Sie die .get_text()
Methode. Vergleichen Sie die Ergebnisse des unten stehenden Beispiels mit denen, die zuvor erhalten wurden.
# 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").get_text())
Danke für Ihr Feedback!