Web Scraping mit BeautifulSoup: Python-Tutorial

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

Web Scraping mit BeautifulSoup: Das komplette Tutorial

Das moderne Internet ist ein riesiger Ozean an Daten. Nachrichten, Bewertungen, Wechselkurse, Wettervorhersagen, Produktinformationen – all das ist online verfügbar. Web Scraping ermöglicht es Ihnen, den Prozess der Datenextraktion zu automatisieren.

In Python ist die Bibliothek BeautifulSoup eines der beliebtesten Werkzeuge für Web Scraping. In diesem Tutorial erklären wir Ihnen Schritt für Schritt, was Web Scraping ist, wie Sie es mit BeautifulSoup umsetzen, und zeigen praktische Beispiele.

Was ist Web Scraping?

Web Scraping ist eine automatisierte Methode, um Daten von Websites zu extrahieren. Anstatt Informationen manuell zu kopieren, erledigt ein Skript diese Aufgabe für Sie.

Vorteile von Web Scraping:

  • Automatisierte Datensammlung: Sparen Sie Zeit und Ressourcen durch die Automatisierung von Routineaufgaben.
  • Aktuelle Informationen: Greifen Sie schnell auf frische Daten zu.
  • Datenstrukturierung: Wandeln Sie unstrukturierte Webdaten in ein für die Analyse geeignetes Format um.

Anwendungsbereiche von Web Scraping:

  • Preisüberwachung in Online-Shops: Verfolgen Sie Preisänderungen bei der Konkurrenz.
  • Nachrichten- und Event-Sammlung: Beziehen Sie automatisch Nachrichtenzusammenfassungen.
  • Job-Parsing: Sammeln Sie Informationen zu offenen Stellen von verschiedenen Portalen.
  • Datenanalyse und maschinelles Lernen: Extrahieren Sie Daten für Modelle und Prognosen.
  • Produkt- und Dienstleistungsvergleiche: Sammeln Sie Daten zu Eigenschaften und Preisen für eine fundierte Entscheidung.

Wichtig zu beachten: Halten Sie sich beim Web Scraping stets an die Regeln der Website (prüfen Sie die robots.txt-Datei) und die gesetzlichen Vorschriften. Überlasten Sie die Server nicht und respektieren Sie die Datenschutzrichtlinien.

Was ist BeautifulSoup?

BeautifulSoup ist eine Python-Bibliothek zum Parsen von HTML- und XML-Dokumenten. Sie ermöglicht es Ihnen, einfach durch die Struktur einer HTML-Seite zu navigieren und die benötigten Elemente zu finden und zu extrahieren.

Hauptmerkmale von BeautifulSoup:

  • Einfachheit: Intuitive und benutzerfreundliche Oberfläche.
  • Flexibilität: Unterstützt verschiedene Parser (html.parser, lxml, html5lib).
  • Fehlertoleranz: Verarbeitet auch fehlerhaften HTML-Code zuverlässig.

Installation von BeautifulSoup:

pip install beautifulsoup4
pip install requests

requests wird benötigt, um den HTML-Code der Seite abzurufen.

Die grundlegenden Schritte beim Web Scraping mit BeautifulSoup

  1. HTML-Code der Seite abrufen: Verwenden Sie die Bibliothek requests, um den Inhalt einer Webseite herunterzuladen.
  2. HTML mit BeautifulSoup parsen: Wandeln Sie den HTML-Code in ein BeautifulSoup-Objekt um, um einfach navigieren und Elemente suchen zu können.
  3. Gewünschte Daten extrahieren: Nutzen Sie die Methoden von BeautifulSoup, um die benötigten Daten anhand von Tags, Attributen und CSS-Selektoren zu finden.
  4. Daten speichern oder verarbeiten: Speichern Sie die extrahierten Daten in einem geeigneten Format (CSV, JSON, Datenbank) oder führen Sie die gewünschte Verarbeitung durch.

Praktische Beispiele für Web Scraping

Einfaches Beispiel: Nachrichtenüberschriften sammeln

Dieses Beispiel zeigt, wie Sie Nachrichtenüberschriften von einer Website extrahieren.

import requests
from bs4 import BeautifulSoup

url = "https://news.ycombinator.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
titles = soup.find_all("a", class_="storylink")

for idx, title in enumerate(titles, 1):
    print(f"{idx}. {title.text}")

Code-Erklärung:

  • requests.get(url): Ruft den HTML-Inhalt der angegebenen URL ab.

Blogs

Buchempfehlungen