BeautifulSoup – HTML-Parsing mit Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in BeautifulSoup

BeautifulSoup ist eine der beliebtesten und leistungsstärksten Python-Bibliotheken zum Parsen von HTML- und XML-Dokumenten. Sie bietet eine einfache und intuitive Schnittstelle zur Navigation, Suche und Bearbeitung des HTML-Elementbaums. Entwickler nutzen BeautifulSoup häufig für Web Scraping, das Extrahieren strukturierter Daten von Webseiten, die Analyse von Website-Inhalten und die Automatisierung von Datenerfassungsprozessen.

Was ist BeautifulSoup und wozu wird es benötigt?

BeautifulSoup erstellt eine Baumstruktur aus einem HTML- oder XML-Dokument, mit der Sie Elemente leicht finden, extrahieren und bearbeiten können. Die Bibliothek ist besonders effektiv bei fehlerhaft strukturiertem HTML, da sie Markup-Fehler automatisch korrigiert und einen gültigen Elementbaum erzeugt.

Hauptanwendungsfälle:

  • Extrahieren von Daten von Websites für Analysen
  • Parsen von Newsfeeds und RSS-Kanälen
  • Automatisierte Erfassung von Produktinformationen in Online-Shops
  • Analyse der Struktur von Webseiten
  • Bereinigung und Verarbeitung von HTML-Inhalten

Vorteile und Funktionen der Bibliothek

Flexibilität und einfache Bedienung

BeautifulSoup bietet eine intuitive API, mit der Sie HTML-Dokumente wie normale Python-Objekte behandeln können. Sie können auf Elemente über ihre Tags, Attribute, Klassen und andere Merkmale zugreifen.

Unterstützung verschiedener Parser

Die Bibliothek unterstützt mehrere Parser, jeder mit seinen eigenen Stärken:

  • html.parser – integrierter Python-Parser (keine zusätzlichen Abhängigkeiten erforderlich)
  • lxml – schneller und zuverlässiger Parser mit XPath-Unterstützung
  • html5lib – Parser mit maximaler Browser-Kompatibilität

Arbeit mit fehlerhaftem HTML

BeautifulSoup korrigiert automatisch Probleme im HTML-Markup wie nicht geschlossene Tags, falsche Verschachtelungen und andere Fehler – ideal für reale Webseiten.

Integration mit beliebten Bibliotheken

Lässt sich problemlos mit requests zum Laden von Webseiten, urllib für URL-Arbeit, selenium für dynamische Inhalte und anderen Tools der Python-Ökosysteme kombinieren.

Unterstützung für reguläre Ausdrücke

Ermöglicht die Verwendung regulärer Ausdrücke für komplexe Suchanfragen und die Filterung von Elementen nach Mustern.

Datenextraktion und -bearbeitung

Vollständige Werkzeuge zum Extrahieren von Text, Attributen, Bearbeiten von HTML-Elementen und Erstellen neuer Elemente.

Installation und grundlegende Einrichtung

Installation der Hauptbibliothek

pip install beautifulsoup4

Installation zusätzlicher Parser

Für den schnellen lxml-Parser:

pip install lxml

Für maximale Browser-Kompatibilität:

pip install html5lib

Grundlegender Import

from bs4 import BeautifulSoup
import requests

Erstellen eines BeautifulSoup-Objekts

HTML-Dokument aus einem String laden

html = """
<html>
<head><title>Beispielseite</title></head>
<body>
    <div class="content">
        <h1>Überschrift</h1>
        <p>Absatztext</p>
    </div>
</body>
</html>
"""

soup = BeautifulSoup(html, 'html.parser')

HTML mit requests laden

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

Weiterführende Beispiele

Empfehlungen