BeautifulSoup richtig nutzen: Ein praktisches Python-Web-Scraping-Tutorial

Zuletzt aktualisiert am May 21, 2026

Web-Scraping hat sich von einer Nischenfähigkeit zu einer unverzichtbaren Superkraft für alle entwickelt, die im Vertrieb, in den Operations oder in der Marktforschung arbeiten. Bei der schieren Menge an Webdaten, die inzwischen explodiert ist – die globale Datenerzeugung stieg von 2019 bis 2023 um fast – ist es kaum überraschend, dass Daten inzwischen als das „Herz“ ihrer Entscheidungsfindung sehen. Aber genau da liegt das Problem: sagen, dass der Umgang mit unstrukturierten Daten (wie chaotischem HTML) eine große Herausforderung ist. Ich habe schon viele Teams erlebt, die in Copy-and-Paste-Marathons untergehen und versuchen, Website-Informationen in Tabellenkalkulationen zu pressen – glauben Sie mir, das sieht nicht gut aus.

Genau hier kommt BeautifulSoup in Python ins Spiel. In diesem praxisnahen Tutorial zeige ich Ihnen, wie Sie BeautifulSoup für Web-Scraping einsetzen, inklusive eines konkreten Python-Beautiful-Soup-Beispiels, das Sie an Ihre eigenen geschäftlichen Anforderungen anpassen können. Und weil ich lieber smart statt hart arbeite, zeige ich Ihnen außerdem, wie Sie BeautifulSoup mit , unserem KI-gestützten Web-Scraper, kombinieren, um Ihren Workflow zu beschleunigen und sauberere, besser strukturierte Daten zu erhalten – ganz gleich, wie gut Sie programmieren können.

Was ist BeautifulSoup, und warum sollte man es fürs Web-Scraping nutzen?

beautifulsoup-web-scraping-overview.png Fangen wir mit den Grundlagen an. ist eine Python-Bibliothek, die das Parsen von HTML- und XML-Dokumenten erleichtert. Stellen Sie sie sich wie einen Übersetzer vor: Sie nimmt das „Tag-Sammelsurium“ einer Webseite und verwandelt es in einen navigierbaren Baum, sodass Sie die gewünschten Daten leicht finden, extrahieren und bearbeiten können. Das Projekt wird weiterhin aktiv gepflegt — beautifulsoup4 4.14.3 wurde Ende 2025 auf PyPI veröffentlicht — also ist alles, was Sie hier lernen, aktuell. Ob Sie Produktpreise von einem E-Commerce-Shop ziehen, Nachrichtenüberschriften sammeln oder Business-Verzeichnisse nach Leads durchsuchen: BeautifulSoup ist das Tool der Wahl, um Webseiten in strukturierte, verwertbare Daten zu verwandeln.

Warum ist es so beliebt? Zum einen ist es extrem einsteigerfreundlich. BeautifulSoup verzeiht fehlerhaftes oder unsauberes HTML (und seien wir ehrlich: davon gibt es im Web reichlich), und seine Python-Syntax sorgt dafür, dass Sie in nur wenigen Codezeilen von null zum Scraping kommen. Außerdem ist es weit verbreitet, mit Millionen von Downloads und einer riesigen Community — wenn Sie also einmal nicht weiterwissen, ist Hilfe meist nur eine Google-Suche entfernt.

Typische Anwendungsfälle für BeautifulSoup sind:

  • Produktnamen, Preise und Bewertungen von E-Commerce-Seiten extrahieren
  • Nachrichtenüberschriften, Autoren und Veröffentlichungsdaten von Nachrichtenseiten ziehen
  • Tabellen oder Verzeichnisse parsen (z. B. Unternehmens- oder Kontaktlisten)
  • E-Mails oder Telefonnummern von Verzeichnisseiten sammeln
  • Aktualisierungen überwachen (Preisänderungen, neue Stellenanzeigen usw.)

Wenn Ihre Daten in statischem HTML liegen, ist BeautifulSoup Ihr bester Freund fürs Web-Scraping.

Die besonderen Vorteile von BeautifulSoup fürs Web-Scraping

Es gibt viele Python-Bibliotheken für Web-Scraping – warum also BeautifulSoup wählen? So schlägt es sich im Vergleich:

  • Einfachheit: BeautifulSoup ist leichtgewichtig und schnell zu lernen. Sie müssen kein ganzes Framework aufsetzen und keinen Berg an Boilerplate-Code schreiben. Perfekt für schnelle, einmalige Scraping-Aufgaben oder für Einsteiger.
  • Fehlertoleranz: Es kommt auch mit kaputtem oder fehlerhaftem HTML zurecht, was häufiger vorkommt, als man denkt.
  • Flexibilität: Sie sind nicht in eine starre Crawling-Architektur gezwungen. Einfach HTML einspeisen und das Gewünschte extrahieren.
  • Integration: BeautifulSoup arbeitet hervorragend mit anderen Python-Bibliotheken wie requests (zum Abrufen von Webseiten), csv (zum Speichern von Daten) und pandas (für die Datenanalyse) zusammen.

Wie schneidet es im Vergleich zu anderen Tools ab?

ToolAm besten geeignet fürVorteileNachteile
BeautifulSoupParsing von statischem HTML, AnfängerEinfach, schneller Start, fehlertolerant, flexibelNicht für Seiten mit viel JavaScript geeignet
ScrapyGroß angelegte, asynchrone JobsLeistungsstark, skalierbar, integriertes CrawlingHöhere Lernkurve, mehr Setup
SeleniumJavaScript-/dynamische InhalteKann mit JS interagieren, Formulare ausfüllen, Buttons klickenLangsamer, schwerer, ressourcenintensiver

Wenn Sie gerade erst anfangen oder statische Seiten schnell parsen müssen, ist BeautifulSoup das „Schweizer Taschenmesser“ des Web-Scrapings (). Für komplexere oder dynamische Seiten kombinieren Sie es eventuell mit Selenium oder Scrapy – aber BeautifulSoup ist der beste Weg, um die Grundlagen zu lernen.

Ihre Python-Umgebung für BeautifulSoup einrichten

Bereit zum Start? So richten Sie Ihre Umgebung ein:

  1. Python installieren: Laden Sie die neueste Version von herunter.

  2. Eine virtuelle Umgebung einrichten (optional, aber empfohlen):

    1python -m venv venv
    2source venv/bin/activate  # Unter Windows: venv\Scripts\activate
  3. BeautifulSoup und Abhängigkeiten installieren:

    1pip install beautifulsoup4 requests lxml html5lib
    • beautifulsoup4: Die Hauptbibliothek
    • requests: Zum Abrufen von Webseiten
    • lxml oder html5lib: Schnellere/zuverlässigere HTML-Parser
  4. Tipps zur Fehlersuche:

    • Wenn die Fehlermeldung „pip not found“ erscheint, versuchen Sie pip3 oder py -m pip.
    • Unter Mac/Linux benötigen Sie möglicherweise sudo für Berechtigungen.
    • Unter Windows sollte Python zu Ihrem PATH hinzugefügt sein.

Um Ihre Einrichtung zu überprüfen, führen Sie diesen kurzen Test aus:

1from bs4 import BeautifulSoup
2import requests
3html = requests.get("http://example.com").text
4soup = BeautifulSoup(html, "html.parser")
5print(soup.title)

Wenn Sie <title>Example Domain</title> sehen, kann es losgehen ().

Ein Schritt-für-Schritt-Python-Beautiful-Soup-Beispiel

Lassen Sie uns in ein echtes Python-Beautiful-Soup-Beispiel eintauchen. Angenommen, Sie möchten die neuesten Nachrichtenüberschriften von einer öffentlichen Nachrichtenseite extrahieren. So gehen Sie vor:

1. Die Webseite abrufen

1import requests
2from bs4 import BeautifulSoup
3url = "https://www.bbc.com/news"
4response = requests.get(url)
5html = response.text

2. Das HTML parsen

1soup = BeautifulSoup(html, "html.parser")

3. Die HTML-Struktur untersuchen

Öffnen Sie die Entwickler-Tools Ihres Browsers (Rechtsklick → Untersuchen) und suchen Sie nach den Tags, die die Überschriften enthalten. Auf vielen Nachrichtenseiten stehen Überschriften in <h3>-Tags mit bestimmten Klassen.

Zum Beispiel könnte man Folgendes sehen:

1<h3 class="gs-c-promo-heading__title">Headline Title</h3>

4. Die Daten extrahieren

1headlines = soup.find_all("h3", class_="gs-c-promo-heading__title")
2for h in headlines:
3    print(h.get_text(strip=True))

Das gibt alle Nachrichtenüberschriften auf der Seite aus.

5. Die Daten als CSV speichern

Speichern wir die Überschriften für spätere Analysen:

1import csv
2with open("headlines.csv", "w", newline='', encoding="utf-8") as file:
3    writer = csv.writer(file)
4    writer.writerow(["headline"])
5    for h in headlines:
6        writer.writerow([h.get_text(strip=True)])

Jetzt haben Sie eine CSV-Datei, die für Excel oder Google Sheets bereit ist.

HTML-Struktur für effektive Datenextraktion verstehen

Bevor Sie irgendeinen Code schreiben, sollten Sie immer das HTML der Seite untersuchen. So geht’s:

  1. Entwickler-Tools öffnen: Rechtsklick auf die Seite und „Untersuchen“ auswählen.
  2. Die Daten finden: Fahren Sie über Elemente, um zu sehen, welche Tags die gewünschten Informationen enthalten (z. B. Überschriften, Preise, Autoren).
  3. Tags und Klassen notieren: Achten Sie auf eindeutige Kennungen wie class="product-title" oder id="main-content".
  4. Selektoren testen: Verwenden Sie BeautifulSoups Methoden .find(), .find_all() oder .select(), um diese Elemente gezielt anzusprechen.

Profi-Tipp: Nutzen Sie soup.prettify(), um eine lesbare Version des HTMLs in Ihrer Python-Konsole auszugeben.

Daten mit BeautifulSoup extrahieren und strukturieren

Angenommen, Sie möchten sowohl Titel als auch Autoren von einer Blogseite extrahieren:

1articles = soup.find_all("article")
2data = []
3for article in articles:
4    title = article.find("h2").get_text(strip=True)
5    author = article.find("span", class_="author").get_text(strip=True)
6    data.append({"title": title, "author": author})

Jetzt haben Sie eine Liste von Dictionaries – perfekt für den Export nach CSV oder für weitere Analysen.

Sie können Links, Bilder oder beliebige Attribute so extrahieren:

1for link in soup.find_all("a"):
2    print(link.get("href"))

Oder Bilder:

1for img in soup.find_all("img"):
2    print(img.get("src"))

Extrahierte Daten speichern: Von Python zu Excel oder CSV

Sobald Ihre Daten strukturiert sind, ist der Export ganz einfach. So geht’s mit dem csv-Modul:

1import csv
2with open("articles.csv", "w", newline='', encoding="utf-8") as file:
3    writer = csv.DictWriter(file, fieldnames=["title", "author"])
4    writer.writeheader()
5    for row in data:
6        writer.writerow(row)

Oder, wenn Sie lieber pandas verwenden:

1import pandas as pd
2df = pd.DataFrame(data)
3df.to_csv("articles.csv", index=False)
4df.to_excel("articles.xlsx", index=False)

Verwenden Sie immer UTF-8-Kodierung, um Probleme mit Sonderzeichen zu vermeiden, besonders bei internationalen Daten.

Fallstudie: Nachrichten-Websitedaten mit BeautifulSoup scrapen

Sehen wir uns ein praktisches Python-Beautiful-Soup-Beispiel an: das Scrapen von Artikeltiteln, Autoren und Veröffentlichungsdaten von einer Nachrichtenseite.

Angenommen, Sie möchten nach Artikeldaten scrapen:

1import requests
2from bs4 import BeautifulSoup
3import csv
4url = "https://edition.cnn.com/world"
5response = requests.get(url)
6soup = BeautifulSoup(response.content, "html.parser")
7articles = soup.find_all("article")
8data = []
9for article in articles:
10    title_tag = article.find("h3")
11    date_tag = article.find("span", class_="date")
12    author_tag = article.find("span", class_="author")
13    title = title_tag.get_text(strip=True) if title_tag else ""
14    date = date_tag.get_text(strip=True) if date_tag else ""
15    author = author_tag.get_text(strip=True) if author_tag else ""
16    data.append({"title": title, "date": date, "author": author})
17with open("cnn_articles.csv", "w", newline='', encoding="utf-8") as file:
18    writer = csv.DictWriter(file, fieldnames=["title", "date", "author"])
19    writer.writeheader()
20    for row in data:
21        writer.writerow(row)

Dieses Skript ruft die neuesten Artikel ab, extrahiert Titel, Datum und Autor und speichert alles als CSV — vorausgesetzt, das aktuelle Markup von CNN verwendet noch die oben genannten Tags. Große Nachrichtenseiten ändern Klassennamen und DOM-Struktur häufig, daher sollten Sie die Seite vor dem Einsatz in der Produktion erneut prüfen. Die Struktur (<article>-Container und anschließend find auf untergeordneten Tags) ist das robuste Muster; die konkreten Klassennamen wie "date" und "author" sind Platzhalter, die Sie anpassen sollten, je nachdem, was die Live-Seite aktuell ausliefert.

Ihren Workflow verbessern: BeautifulSoup mit Thunderbit kombinieren

Jetzt sprechen wir darüber, wie Sie Ihren Scraping-Workflow noch reibungsloser machen können. ist eine KI-gestützte Web-Scraper-Chrome-Erweiterung, die das Rätselraten bei der Datenerfassung beendet. Mit Thunderbit können Sie:

  • „KI-Felder vorschlagen“ verwenden: Thunderbit liest die Seite und schlägt automatisch vor, welche Datenfelder extrahiert werden sollen – kein Suchen mehr im HTML und kein Herumprobieren mit Selektoren.
  • Unterseiten scrapen: Thunderbit kann Links zu Unterseiten verfolgen (z. B. einzelne Produkt- oder Artikelseiten) und Ihren Datensatz mit zusätzlichen Details anreichern.
  • Sofort exportieren: Senden Sie Ihre Daten mit einem Klick direkt an Excel, Google Sheets, Airtable oder Notion.
  • Paginierung verarbeiten: Thunderbit kann Daten über mehrere Seiten hinweg scrapen, einschließlich unendlichem Scrollen.
  • Scrapes planen: Richten Sie wiederkehrende Jobs ein, damit Ihre Daten aktuell bleiben.

Hier ist ein Hybrid-Workflow, den ich sehr schätze:

  1. Mit Thunderbit starten: Öffnen Sie Ihre Zielseite, klicken Sie auf das Thunderbit-Symbol und lassen Sie „KI-Felder vorschlagen“ die passenden Spalten erkennen (z. B. Titel, Autor, Datum).
  2. Die Daten exportieren: Laden Sie die Ergebnisse als CSV herunter oder senden Sie sie an Google Sheets.
  3. BeautifulSoup für die individuelle Nachbearbeitung nutzen: Wenn Sie tiefere Analysen brauchen (z. B. Textbereinigung, Deduplizierung oder das Zusammenführen mit anderen Quellen), laden Sie die exportierte CSV in Python und verwenden Sie BeautifulSoup oder pandas für die Weiterverarbeitung.

Diese Kombination gibt Ihnen das Beste aus beiden Welten: Thundebits Geschwindigkeit und KI-gestützte Felderkennung plus BeautifulSoups Flexibilität für individuelle Logik.

Geschwindigkeit und Datenqualität: Warum Thunderbit und BeautifulSoup zusammen nutzen?

thunderbit-beautifulsoup-data-pipeline.png Warum überhaupt beide Tools verwenden? Das habe ich festgestellt:

  • Geschwindigkeit: Thunderbit kann Dutzende Seiten parallel scrapen (im Cloud-Modus bis zu 50 gleichzeitig), sodass Sie Ihre Daten in Minuten statt Stunden erhalten.
  • Vollständigkeit der Daten: Die KI von Thunderbit passt sich an Layoutänderungen an und kann selbst von schwierigen Seiten strukturierte Daten extrahieren, wodurch das Risiko fehlender Felder sinkt.
  • Weniger Fehler: Keine kaputten Skripte mehr, nur weil sich ein Klassenname ändert – Thundebits KI bewertet die Seite bei jedem Durchlauf neu.
  • Individuelle Nachbearbeitung: Für fortgeschrittene Anforderungen (z. B. Filtern, Übersetzen oder Zusammenführen von Datensätzen) geben Ihnen BeautifulSoup und pandas volle Kontrolle.

Dieser hybride Ansatz ist besonders wertvoll für:

  • Lead-Generierung im großen Stil: Verwenden Sie Thunderbit, um die Rohdaten zu holen, und BeautifulSoup, um sie zu bereinigen und anzureichern.
  • Produkt-Monitoring: Thunderbit übernimmt das repetitive Scraping, während BeautifulSoup Ihnen hilft, Trends zu analysieren oder Ausreißer zu markieren.
  • News- und Content-Tracking: Sammeln Sie Artikel schnell mit Thunderbit und nutzen Sie anschließend Python für Sentiment-Analyse oder Keyword-Extraktion.

Häufige Probleme beim Web-Scraping mit BeautifulSoup beheben

Web-Scraping läuft nicht immer reibungslos – hier sind einige typische Stolpersteine und wie man sie behebt:

  • Dynamische Inhalte: Wenn eine Seite Daten mit JavaScript lädt (Infinite Scroll, AJAX), sieht BeautifulSoup das allein nicht. Verwenden Sie dafür Selenium oder den Browser-Modus von Thunderbit.
  • Anti-Bot-Maßnahmen: Manche Seiten blockieren automatisierte Anfragen. Versuchen Sie einen benutzerdefinierten User-Agent-Header, fügen Sie Pausen zwischen Anfragen ein oder nutzen Sie Thundebits Cloud-Scraping, um einfache Sperren zu umgehen.
  • Änderungen an der HTML-Struktur: Wenn Ihr Skript plötzlich nicht mehr funktioniert, hat sich wahrscheinlich das HTML der Seite geändert. Untersuchen Sie die Seite erneut und aktualisieren Sie Ihre Selektoren. Thundebits KI kann hier helfen, indem sie sich spontan anpasst.
  • Fehlende Daten: Prüfen Sie immer, ob Elemente existieren, bevor Sie .get_text() aufrufen. Verwenden Sie bei Attributen .get() statt [], um KeyErrors zu vermeiden.
  • Kodierungsprobleme: Speichern Sie Dateien mit UTF-8-Kodierung, damit Sonderzeichen korrekt verarbeitet werden.

Und ganz wichtig: Beachten Sie immer robots.txt und die Nutzungsbedingungen der Website. Scrapen Sie verantwortungsvoll – niemand mag einen unhöflichen Roboter.

Fazit und wichtigste Erkenntnisse

Web-Scraping mit BeautifulSoup ist eine der praktischsten Fähigkeiten, die Sie in der heutigen datengetriebenen Welt lernen können. Hier ist, was wir in diesem BeautifulSoup-Web-Scraping-Tutorial behandelt haben:

  • BeautifulSoup ist der ideale Einstieg, um statisches HTML zu parsen und strukturierte Daten mit Python zu extrahieren.
  • Das Einrichten ist unkompliziert – Python, pip und ein paar Bibliotheken genügen.
  • HTML zu prüfen ist entscheidend, um die richtigen Daten zu treffen.
  • Der Export nach CSV/Excel macht Ihre Daten sofort für die Geschäftsanalyse nutzbar.
  • Die Kombination mit Thunderbit bringt Ihnen KI-gestützte Felderkennung, schnelleres Scraping und einfachere Exporte – perfekt für Business-Anwender und Nicht-Programmierer.
  • Hybride Workflows (Thunderbit für die Massenextraktion, BeautifulSoup für individuelle Verarbeitung) liefern die beste Mischung aus Geschwindigkeit, Datenqualität und Flexibilität.

Wenn Sie bereit sind, Ihr Web-Scraping auf das nächste Level zu bringen, probieren Sie beide Tools aus: Experimentieren Sie mit einem einfachen BeautifulSoup-Skript und sehen Sie dann, wie viel schneller Sie mit werden. Und für weitere praxisnahe Anleitungen schauen Sie im vorbei.

Viel Erfolg beim Scraping – und mögen Ihre Daten immer sauber, strukturiert und einsatzbereit sein.

Thunderbit KI-Web-Scraper testen

FAQs

1. Was ist BeautifulSoup und wofür wird es verwendet?
BeautifulSoup ist eine Python-Bibliothek zum Parsen von HTML- und XML-Dokumenten. Sie hilft Ihnen, Daten von Webseiten zu extrahieren und in strukturierte Formate wie Listen oder Tabellen zu überführen – ideal für Web-Scraping-Projekte.

2. Wie schlägt sich BeautifulSoup im Vergleich zu Selenium und Scrapy?
BeautifulSoup ist leichtgewichtig und einfach zu nutzen für statische HTML-Seiten. Selenium eignet sich besser zum Scrapen dynamischer, stark JavaScript-lastiger Seiten, während Scrapy ein voll ausgestattetes Framework für groß angelegtes, asynchrones Scraping ist. BeautifulSoup ist die beste Wahl für Einsteiger und schnelle Aufgaben.

3. Kann ich BeautifulSoup und Thunderbit zusammen verwenden?
Absolut. Thunderbit kann Datenfelder auf Webseiten mithilfe von KI schnell erkennen und extrahieren, und Sie können BeautifulSoup für individuelle Nachbearbeitung oder eine tiefere Analyse der exportierten Daten verwenden.

4. Was sind häufige Herausforderungen beim Web-Scraping mit BeautifulSoup?
Typische Probleme sind der Umgang mit dynamischen Inhalten, Anti-Bot-Maßnahmen und Änderungen an der HTML-Struktur. Thundebits KI-Funktionen oder der Browser-Modus können helfen, viele dieser Herausforderungen zu meistern.

5. Wie exportiere ich mit BeautifulSoup extrahierte Daten nach Excel oder CSV?
Sie können das eingebaute csv-Modul von Python oder die Bibliothek pandas verwenden, um Ihre extrahierten Daten in CSV- oder Excel-Dateien zu schreiben. Verwenden Sie immer UTF-8-Kodierung, um Sonderzeichen korrekt zu behandeln und die Kompatibilität mit Tabellenkalkulations-Tools sicherzustellen.

Bereit, es selbst auszuprobieren? Laden Sie herunter und scrapen Sie noch heute smarter. Weitere Tutorials und Tipps finden Sie im .

Mehr erfahren

Shuai Guan
Shuai Guan
CEO bei Thunderbit | Experte für KI-Datenautomatisierung Shuai Guan ist CEO von Thunderbit und Absolvent der University of Michigan Engineering. Mit fast einem Jahrzehnt Erfahrung in Tech- und SaaS-Architektur ist er darauf spezialisiert, komplexe KI-Modelle in praktische No-Code-Tools zur Datenextraktion zu verwandeln. In diesem Blog teilt er ungefilterte, in der Praxis bewährte Einblicke in Web-Scraping und Automatisierungsstrategien, damit Sie intelligentere, datengetriebene Workflows aufbauen können. Wenn er nicht gerade Daten-Workflows optimiert, widmet er dieselbe Liebe zum Detail seiner Leidenschaft für die Fotografie.
Topics
Python BeautifulSoup BeispielBeautifulSoup Web-Scraping-Anleitung

Teste Thunderbit

Leads und andere Daten in nur 2 Klicks extrahieren. Mit KI angetrieben.

Thunderbit holen Kostenlos
Daten mit KI extrahieren
Daten einfach zu Google Sheets, Airtable oder Notion übertragen
PRODUCT HUNT#1 Product of the Week