Kursinhalt
Web Scraping mit Python
Web Scraping mit Python
Arbeiten mit Spezifischen Elementen
Das Navigieren durch ein HTML-Dokument mit Python-Attributen gibt nur das erste Vorkommen eines bestimmten Elements zurück. Aber was, 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 .find()
-Methode verwenden, wobei der Tag (ohne < >
-Klammern) als Zeichenkette übergeben wird. Zum Beispiel: Finden wir das erste <div>
-Element im HTML-Dokument.
# 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"))
Darüber hinaus können Sie alle Vorkommnisse eines bestimmten Elements abrufen, indem Sie die .find_all()
-Methode verwenden. Dies gibt eine Liste der Vorkommen zurück. Zum Beispiel: Finden wir alle <p>
-Tags im HTML-Dokument.
# 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"))
Sie können auch die .find_all()
Methode verwenden, um nicht nur einen einzelnen, sondern mehrere Tags zu finden, indem Sie eine Liste von Tags übergeben. Zum Beispiel, sammeln wir alle <div>
und <title>
Elemente.
# 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)
Danke für Ihr Feedback!