Schritt-für-Schritt-Anleitung: Web Scraping mit Python – Tutorial

Zuletzt aktualisiert am November 3, 2025

Das Web ist heute der geheime Antrieb für datengetriebene Geschäftsentscheidungen. Egal, ob du die Preise deiner Konkurrenz im Blick behalten, neue Vertriebskontakte sammeln oder Kundenmeinungen auswerten willst – fast immer brauchst du Daten, die irgendwann mal automatisiert aus dem Netz gezogen wurden. Ein spannender Fakt am Rande: Bis 2025 werden fast 50% des gesamten Internet-Traffics von Bots erzeugt – automatisierte Datenerfassung ist dann das Rückgrat von E-Commerce, Marktforschung und vielem mehr (). In diesem Daten-Goldrausch hat sich Python als die Lieblingssprache für Web-Scraping durchgesetzt – dank ihrer einfachen Syntax und der riesigen Auswahl an starken Bibliotheken. ChatGPT Image Nov 3, 2025, 11_18_31 AM (1).png

Nach vielen Jahren in der SaaS- und Automatisierungswelt weiß ich: Python Web-Scraping kann Unternehmen komplett verändern – vorausgesetzt, du kennst die richtigen Tools und Tricks. In dieser Schritt-für-Schritt-Anleitung zeige ich dir, wie Web-Scraping mit Python funktioniert, welche Tools du brauchst, wie du typische Stolperfallen umgehst und führe dich durch ein Praxisprojekt, bei dem wir IMDB-Filmrezensionen scrapen (inklusive einer kleinen Sentiment-Analyse als Bonus). Und falls du lieber „nur die Daten, nicht den Code“ willst, stelle ich dir vor – unseren No-Code, KI-gestützten Web-Scraper, mit dem Datensammeln so einfach wird wie Essen bestellen.

Los geht’s – mach das Web zu deiner persönlichen Datenquelle!

Was ist Web-Scraping mit Python? Die Basics

Web-Scraping ist nichts anderes als der automatisierte Prozess, Infos von Webseiten zu sammeln und in strukturierte Daten zu verwandeln – stell dir vor, ein Roboter kopiert blitzschnell und massenhaft genau die Inhalte, die dich interessieren. Unternehmen nutzen Web-Scraping für Preisbeobachtung, Lead-Generierung, Marktforschung und Trendanalysen ().

Python ist dabei das Schweizer Taschenmesser. Warum? Die klare, leicht verständliche Syntax ist perfekt für Einsteiger, und das Ökosystem bietet für jeden Anwendungsfall die passende Bibliothek. Der typische Ablauf sieht so aus:

  1. Anfrage an die Website schicken (z.B. mit requests).
  2. HTML-Inhalt der Seite laden.
  3. HTML parsen (z.B. mit Beautiful Soup), um die gewünschten Daten zu finden.
  4. Daten extrahieren und speichern (z.B. als CSV, Excel oder in einer Datenbank).

So sieht das Ganze als Schema aus:

1[Website] → [HTTP-Anfrage] → [HTML-Antwort] → [HTML-Parser] → [Extrahierte Daten] → [CSV/Excel/DB]

Python hält alle diese Schritte zusammen und macht Web-Scraping für Entwickler und datenhungrige Business-Leute gleichermaßen zugänglich.

Warum Web-Scraping mit Python für Unternehmen so wertvoll ist

Jetzt mal konkret: Warum setzen so viele Unternehmen auf Python Web-Scraping? Weil es in vielen Bereichen echten, messbaren Mehrwert bringt:

AnwendungsfallWas du bekommstBusiness-Impact/ROI
Lead-GenerierungKontaktlisten, E-Mails, TelefonnummernDein CRM füllt sich mit frischen, gezielten Leads
PreisüberwachungWettbewerberpreise, LagerbeständeDynamische Preisgestaltung, 4%+ Umsatzsteigerung (Browsercat)
MarktforschungProduktbewertungen, Social SentimentEchtzeit-Trendanalyse, bessere Produktentscheidungen
Content-AggregationNews, Angebote, ProduktlistenVergleichsportale, 78% der Online-Shopper profitieren
ProzessautomatisierungMassendateneingabe, ReportingHunderte Stunden gespart, 40% weniger Datenkosten

Ein Beispiel aus der Praxis: Der britische Händler John Lewis nutzte Python-Scraping, um die Preise der Konkurrenz zu verfolgen und die eigenen Preise anzupassen – das brachte eine Umsatzsteigerung von 4% (). Noch ein Beispiel: Ein Vertriebsteam sammelte mit einem Python-Scraper über 12.000 Leads in einer Woche und sparte so „hunderte Stunden“ manueller Arbeit. ChatGPT Image Nov 3, 2025, 11_12_57 AM (1).png Das Fazit: Mit Python Web-Scraping machst du das offene Web im Handumdrehen zu deinem Wettbewerbsvorteil.

Die wichtigsten Tools für Web-Scraping mit Python: Dein Starter-Kit

Bevor du loslegst, solltest du deine Python-Umgebung einrichten und die wichtigsten Werkzeuge kennen. Hier meine Tipps:

1. Python-Installation & IDE

  • Python 3.x: Download unter .
  • IDE: Ich mag wegen der smarten Features, aber auch oder Jupyter Notebooks sind top.

Tipp: Für jedes Projekt eine virtuelle Umgebung anlegen (python -m venv envname), damit alles sauber bleibt.

2. Unverzichtbare Bibliotheken

BibliothekFunktionIdeal für
requestsLädt Webseiten (HTTP-Anfragen)Statische Seiten, APIs
Beautiful SoupParst HTML, findet Daten auf der SeiteUnübersichtliches oder einfaches HTML
SeleniumAutomatisiert Browser (führt JavaScript aus)Dynamische Seiten, Infinite Scroll, Logins
ScrapyUmfassendes Scraping-FrameworkGroßprojekte, Multi-Page, asynchrones Crawling

Installation:

1pip install requests beautifulsoup4 selenium scrapy

3. Tool-Vergleichstabelle

ToolStatische SeitenDynamische SeitenSkalierungLernkurveBemerkungen
requests + BSJaNeinKlein/MittelEinfachPerfekt für Einsteiger, schnelle Aufgaben
SeleniumJaJaKleinMittelEtwas langsamer, simuliert echten Browser
ScrapyJaEingeschränktGroßAnspruchsvollAsynchron, verarbeitet tausende Seiten
PlaywrightJaJaMittelMittelModern, schnelle Browser-Automatisierung

Für die meisten Business-Anwender ist requests + Beautiful Soup der perfekte Einstieg. Selenium oder Scrapy lohnen sich, wenn die Anforderungen wachsen.

So funktioniert Web-Scraping mit Python: Von der Anfrage bis zur Datenausgabe

Schauen wir uns einen einfachen Scraping-Workflow mit Python an. So könntest du Buchtitel und Preise von einer statischen Seite wie extrahieren:

1import requests
2from bs4 import BeautifulSoup
3url = "https://books.toscrape.com/"
4response = requests.get(url)
5soup = BeautifulSoup(response.text, 'html.parser')
6for item in soup.find_all('article', {'class': 'product_pod'}):
7    title = item.find('h3').find('a')['title']
8    price = item.find('p', {'class': 'price_color'}).text
9    print(f"{title} -- {price}")

Was passiert hier?

  • requests.get() lädt das HTML der Seite.
  • BeautifulSoup parst das HTML.
  • find_all() findet alle Buch-Einträge.
  • Titel und Preis werden extrahiert und ausgegeben.

Für dynamische Seiten (bei denen Daten erst nach dem Laden erscheinen) nutzt du Selenium:

1from selenium import webdriver
2driver = webdriver.Chrome()
3driver.get(url)
4page_html = driver.page_source
5soup = BeautifulSoup(page_html, 'html.parser')
6# ...wie oben parsen...
7driver.quit()

Der Unterschied: Selenium steuert einen echten Browser und kann so auch Inhalte erfassen, die per JavaScript nachgeladen werden.

Typische Herausforderungen beim Web-Scraping mit Python meistern

Web-Scraping läuft nicht immer reibungslos – viele Websites schützen sich aktiv. So umgehst du die häufigsten Stolpersteine:

1. Anti-Scraping-Maßnahmen

  • User-Agent-Header: Immer einen echten Browser-User-Agent setzen, damit du nicht als Bot auffällst ().
    1headers = {"User-Agent": "Mozilla/5.0 ..."}
    2requests.get(url, headers=headers)
  • Rotierende Proxys: Wenn du wegen zu vieler Anfragen geblockt wirst, verschiedene Proxys nutzen.
  • Rate Limiting: Mit time.sleep(1) Pausen zwischen den Anfragen einbauen.
  • CAPTCHAs: Bei CAPTCHAs helfen oft nur Browser-Automatisierung (Selenium) oder spezialisierte Dienste – immer fair und legal scrapen.

2. Datenformat-Probleme

  • Zeichenkodierung: Bei komischen Zeichen response.encoding = 'utf-8' setzen.
  • Unsauberes HTML: Beautiful Soup ist tolerant, aber manchmal hilft nur Nachbearbeitung oder Regex.

3. Änderungen an der Website

  • Instabile Selektoren: Ändert sich das Layout, kann dein Script brechen. Schreib flexiblen Code und sei bereit für Anpassungen.

Troubleshooting-Checkliste

  • Selektoren im Browser-Inspektor prüfen.
  • Rohes HTML ausgeben, um fehlende Daten zu finden.
  • Mit try/except Fehler abfangen.
  • Immer robots.txt und Nutzungsbedingungen beachten.

Thunderbit: No-Code-Alternative zum Python Web-Scraping

Nicht jeder hat Lust auf Code, Proxys oder Browser-Treiber. Genau deshalb gibt’s : einen No-Code, KI-gestützten Web-Scraper direkt im Chrome-Browser.

Mit Thunderbit geht’s so easy:

  1. Wunschseite öffnen.
  2. Auf KI-Felder vorschlagen klicken – die KI analysiert die Seite und schlägt passende Datenfelder vor.
  3. Auf Scrapen klicken – Thunderbit zieht die Daten und zeigt sie in einer Tabelle an.
  4. Exportieren direkt nach Excel, Google Sheets, Notion oder Airtable.

Kein Setup, kein Code, keine Wartung. Thunderbit kommt auch mit dynamischen Seiten, Unterseiten und geplanten Scrapes in der Cloud klar (bis zu 50 Seiten gleichzeitig für maximale Geschwindigkeit).

Hier der direkte Vergleich:

FunktionPython-ScrapingThunderbit (No-Code)
EinrichtungszeitStunden (Installation, Code)Minuten (Extension installieren)
Technisches Know-howPython, HTML, DebuggingKeins – einfach im Browser nutzen
Dynamische SeitenJa (mit Selenium)Ja (KI-Browser-Automation)
WartungDu reparierst ScripteKI passt sich an, keine Wartung
DatenexportCode zu CSV/Excel1-Klick zu Sheets/Notion/etc.
AutomatisierungCronjobs, ServerIntegrierte Zeitplanung
KostenKostenlos, aber zeitintensivGratis-Tarif, skalierbar nach Bedarf

Du willst Thunderbit live ausprobieren? und teste sie auf deiner Lieblingsseite – du wirst staunen, wie viel Zeit du sparst.

Praxisbeispiel: IMDB-Filmrezensionen scrapen und analysieren mit Python

Jetzt wird’s praktisch: Wir scrapen IMDB-Filmrezensionen und machen eine kleine Sentiment-Analyse.

Schritt 1: Rezensionen von IMDB extrahieren

Wir nutzen requests und BeautifulSoup, um Rezensionen zu „Die Verurteilten“ zu sammeln:

1import requests
2from bs4 import BeautifulSoup
3review_url = "https://www.imdb.com/title/tt0111161/reviews"
4response = requests.get(review_url)
5soup = BeautifulSoup(response.content, 'html.parser')
6reviews = soup.find_all('div', class_='text show-more__control')
7for review in reviews[:3]:
8    print(review.get_text()[:100], "...")

Das gibt die ersten 100 Zeichen jeder Rezension aus.

Schritt 2: Sentiment-Analyse mit TextBlob

Jetzt analysieren wir die Stimmung jeder Rezension:

1from textblob import TextBlob
2for review in reviews[:5]:
3    text = review.get_text()
4    blob = TextBlob(text)
5    sentiment = blob.sentiment.polarity
6    sentiment_label = "positive" if sentiment > 0 else "negative" if sentiment < 0 else "neutral"
7    print(f"Review excerpt: {text[:60]}...")
8    print(f"Sentiment score: {sentiment:.2f} ({sentiment_label})\n")

Die Ausgabe sieht dann so aus:

1Review excerpt: "One of the most uplifting films I have ever seen. The perform..."
2Sentiment score: 0.65 (positive)

Mit ein paar Zeilen Python hast du echte Webdaten extrahiert und analysiert – stell dir vor, was mit tausenden Rezensionen möglich ist!

Schritt-für-Schritt-Anleitung: Dein erstes Python Web-Scraping-Projekt

Bereit für den Einstieg? Hier ein Fahrplan für Anfänger:

  1. Wähle eine Zielseite: Am besten eine einfache, statische Seite (z.B. ).
  2. Richte deine Umgebung ein: Installiere Python, deine IDE und die Bibliotheken (pip install requests beautifulsoup4).
  3. HTML inspizieren: Mit dem Browser-Inspektor herausfinden, wo die gewünschten Daten stehen (Tags, Klassen).
  4. Script schreiben: Seite laden, mit Beautiful Soup parsen, Daten extrahieren.
  5. Paginierung beachten: Bei mehreren Seiten durch alle Seiten iterieren.
  6. Daten speichern: Mit dem csv-Modul oder pandas als CSV oder Excel sichern.
  7. Feinschliff & Test: Fehlerbehandlung, Kommentare, verschiedene Seiten testen.
  8. Automatisieren (optional): Script per Cronjob oder Aufgabenplanung regelmäßig ausführen.

Tipp: Fang klein an und baue Schritt für Schritt aus. Debugge unterwegs – HTML ausgeben, Selektoren prüfen, Fehlermeldungen googeln (machen wir alle!).

Python Web-Scraping vs. No-Code-Tools: Was passt zu dir?

Solltest du lieber selbst coden oder ein No-Code-Tool wie Thunderbit nutzen? Hier eine Entscheidungshilfe:

KriteriumPython-ScriptingThunderbit (No-Code)
Technisches Know-howErforderlichNicht nötig
Individuelle LogikUnbegrenztKI übernimmt Standardfälle
WartungDu pflegst den CodeKI passt sich an, kein Code
SkalierungHoch (mit Aufwand)Hoch (Cloud-Scraping)
Zeit bis zum ErgebnisLangsamer (Setup/Code)Sofort (2 Klicks)
DatenexportCode zu CSV/Excel1-Klick zu Sheets/Notion/etc.
KostenKostenlos, aber zeitintensivGratis-Tarif, skalierbar

Python wählen, wenn: du individuelle Logik brauchst, mit anderem Code integrieren oder sehr komplexe Seiten scrapen willst.

Thunderbit wählen, wenn: du schnell Daten brauchst, nicht programmieren willst oder auch Nicht-Technikern im Team Zugang ermöglichen möchtest.

Fazit & nächste Schritte

  • Python Web-Scraping ist ein echter Business-Booster – leistungsstark, flexibel und mit riesigem Ökosystem.
  • Business-Mehrwert: Von Lead-Generierung bis Preisüberwachung – Scraping ermöglicht datenbasierte Entscheidungen und hohe Rendite.
  • Wichtige Tools: Starte mit requests + Beautiful Soup, steig bei Bedarf auf Selenium oder Scrapy um.
  • Typische Stolperfallen: Anti-Scraping-Maßnahmen, Kodierungsprobleme und Website-Änderungen im Blick behalten.
  • No-Code-Alternativen wie machen Scraping für alle zugänglich – ohne Code, ohne Stress, mit Sofort-Export.
  • Beides ausprobieren: Schreib einen einfachen Python-Scraper zum Lernen und teste Thunderbit für Geschwindigkeit und Komfort.

Neugierig geworden? Hier findest du weitere Ressourcen:

  • für mehr Anleitungen und Tipps
  • für No-Code-Scraping zum Ausprobieren

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

FAQs

1. Was ist Web-Scraping mit Python?
Web-Scraping mit Python heißt, mit Python-Skripten automatisch Daten von Webseiten zu ziehen. Dafür werden HTTP-Anfragen geschickt, HTML geladen, gezielt nach Infos gesucht und die Ergebnisse strukturiert gespeichert.

2. Welche Python-Bibliotheken sind am besten fürs Web-Scraping?
Die beliebtesten Bibliotheken sind requests (zum Laden von Webseiten), Beautiful Soup (zum Parsen von HTML), Selenium (zur Browser-Automatisierung) und Scrapy (für große, asynchrone Projekte).

3. Wie gehe ich mit Websites um, die Scraper blockieren?
Setze echte User-Agent-Header, baue Pausen zwischen Anfragen ein, rotiere Proxys und nutze bei dynamischen oder geschützten Seiten Browser-Automatisierung (Selenium). Immer fair und im Rahmen der Nutzungsbedingungen scrapen.

4. Was ist der Unterschied zwischen Python-Scraping und Thunderbit?
Python-Scraping braucht Programmierkenntnisse und laufende Wartung, bietet aber maximale Flexibilität. ist eine No-Code, KI-gestützte Chrome-Erweiterung, mit der jeder in 2 Klicks Daten extrahieren und sofort nach Sheets, Notion & Co. exportieren kann – ganz ohne Code oder Wartung.

5. Kann ich Web-Scraping-Aufgaben automatisieren?
Klar! Mit Python kannst du Skripte per Cronjob oder Aufgabenplanung regelmäßig ausführen. Mit Thunderbit lassen sich geplante Scrapes in Klartext einrichten – die Cloud übernimmt den Rest, ganz ohne Server oder Code.

Bereit, das Web zu deiner Datenquelle zu machen? oder starte dein erstes Python-Scraping-Projekt. Und falls du nicht weiterkommst: Im findest du jede Menge Anleitungen, Tipps und Inspiration für deine Datenprojekte.

Mehr erfahren

KI-Web-Scraper ausprobieren
Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Topics
Web ScrapingScrapingPython
Inhaltsverzeichnis

Teste Thunderbit

Leads und weitere Daten mit nur 2 Klicks extrahieren. KI-gestützt.

Thunderbit holen Kostenlos
Daten mit KI extrahieren
Übertrage Daten einfach nach Google Sheets, Airtable oder Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week