Web Scraping verständlich gemacht
- Datum: 14.09.2025
- Autor: Giuseppe Scolaro
Web Scraping - Werkzeuge, Nutzen, Rechtslage und Beispiele
Web Scraping bezeichnet das automatisierte Auslesen von Daten aus Websites, um diese zu speichern und weiterzuverarbeiten. Es ist vergleichbar mit einem automatischen Copy-and-Paste-Vorgang, bei dem Inhalte aus dem HTML-Quelltext extrahiert werden. In diesem Blogbeitrag erfährst du, welche Tools du für Web Scraping benötigst (vor allem in Python), welchen Nutzen Web Scraping bietet, wofür es häufig eingesetzt wird (Spoiler: auch künstliche Intelligenz greift oft darauf zurück), was man damit alles machen kann (z. B. versteckte Informationen wie Telefonnummern aufspüren), wie die Browser-Automatisierung mit Selenium und ChromeDriver funktioniert, welche rechtlichen Aspekte man besonders in der Schweiz (aber auch in Deutschland, Österreich und Italien) beachten muss, und zum Abschluss zeigen wir eine einfache Anleitung, um eine statische Seite mit Python zu scrapen – inklusive einem PHP-Beispiel zum Vergleich, warum Python es Anfängern oft leichter macht.
Hinweis: Alle vorgestellten Methoden dienen nur Demonstrationszwecken. Bitte wende Web Scraping niemals unerlaubt auf fremde Webseiten an – hole dir vorher die Erlaubnis oder prüfe die Nutzungsbedingungen, um rechtliche Probleme zu vermeiden.
Was ist Web Scraping?
Web Scraping (manchmal irrtümlich "Scrapping" genannt) bedeutet, automatisiert Informationen von Websites abzurufen und zu speichern. Dabei können vielfältige Daten gesammelt werden – beispielsweise Kontaktdaten wie E-Mail-Adressen oder Telefonnummern, einzelne Wörter, Preise, Überschriften oder ganze Artikel. Diese Daten werden meist in lokalen Datenbanken oder Tabellen gesammelt, um sie anschliessend zu analysieren oder anderweitig zu verwenden. Man kann sich Web Scraping wie einen kleinen Roboter vorstellen, der für dich das Internet nach bestimmten Informationen durchsucht und die Fundstücke systematisch abspeichert.
Web Scraping ist im Prinzip ein automatisiertes Durchforsten des HTML-Quelltextes von Webseiten. Der Quelltext enthält neben dem sichtbaren Inhalt auch HTML-Tags (Markup), die für die Darstellung genutzt werden. Ein Web Scraper – auch Crawler, Spider oder einfach Bot genannt – lädt diesen Quelltext herunter und sucht nach Mustern, um gezielt die interessanten Informationen zu extrahieren. Die extrahierten Daten kann der Scraper dann z.B. in eine strukturierte Form bringen (etwa als Tabelle oder JSON-Datei) und zur weiteren Verwendung abspeichern.
Beispiel: Angenommen, du möchtest die Preise von verschiedenen Online-Shops vergleichen. Statt jeden Shop manuell zu öffnen und Preise abzuschreiben, könnte ein Web Scraper automatisch alle relevanten Produktseiten besuchen, die Produktnamen und Preise herauslesen und dir am Ende eine schöne Preisliste erstellen. Das spart enorm viel Zeit und ist weniger fehleranfällig als händisches Kopieren.
Welche Tools braucht man für Web Scraping?
Du kannst prinzipiell mit verschiedenen Programmiersprachen scrapen, aber besonders Python hat sich dank seiner Einfachheit und mächtigen Bibliotheken zum Favoriten entwickelt. Python ist einsteigerfreundlich und verfügt über ein reiches Ökosystem an Tools für Web Scraping. Hier ein Überblick der wichtigsten Werkzeuge:
HTTP-Clients: Um eine Webseite abzurufen, benötigt der Scraper einen Weg, HTTP-Anfragen zu stellen. In Python wird dafür oft die Bibliothek requests genutzt, die den HTML-Inhalt einer URL einfach herunterladen kann. In PHP kann man hierfür etwa file_get_contents() oder cURL verwenden.
HTML-Parser: Nachdem der HTML-Quelltext geladen ist, muss er durchsucht werden. In Python ist BeautifulSoup (aus dem Paket beautifulsoup4) ein beliebtes Tool, um den HTML-Text in eine durchsuchbare Baumstruktur zu verwandeln. Damit lassen sich z.B. alle <a>-Tags (Links) oder bestimmte Css-Klassen gezielt auslesen. In PHP gibt es z.B. die DOMDocument-Klasse oder externe Libraries, um HTML zu parsen.
Browser-Automatisierung: Einige Webseiten laden Inhalte dynamisch per JavaScript nach oder erfordern Interaktionen (Login, Klicks etc.). Hier kommt ein integrierter Browser ins Spiel. Mit Selenium lässt sich ein echter Browser (z.B. Chrome oder Firefox) per Programm steuern. Selenium arbeitet mit sogenannten WebDriver-Komponenten – für Chrome z.B. dem ChromeDriver – um den Browser fernzusteuern. Damit kann dein Scraper z.B. Seiten scrollen, Buttons klicken oder Formularfelder ausfüllen, genau wie ein menschlicher Nutzer, und anschliessend den aktualisierten HTML-Inhalt auslesen.
Frameworks: Für komplexere Projekte gibt es spezialisierte Frameworks. In Python ist Scrapy sehr bekannt – ein leistungsfähiges Web-Scraping-Framework, mit dem man ganze Crawler-Anwendungen erstellen kann. Für Anfänger ist Scrapy oft zu umfangreich, aber es lohnt sich zu wissen, dass es existiert, falls du später grössere Datenmengen scrapen willst.
Weitere Hilfsbibliotheken: Je nach Anwendungsfall können zusätzliche Tools helfen. Zum Beispiel lxml als schnellerer Parser für sehr grosse oder kaputte HTML-Dateien, urllib (in Python) für grundlegende URL- und HTTP-Operationen, oder pyautogui falls man doch mal Maus/Tastatur-Ereignisse automatisieren muss. Anfangs sind diese aber nicht zwingend nötig.
Zusammenfassung: Für den Start reichen Python mit requests und BeautifulSoup für statische Seiten. Falls du es mit dynamischen Inhalten zu tun hast, kommt Selenium mit einem Browser-WebDriver ins Spiel. PHP oder andere Sprachen können prinzipiell auch scrapen, sind aber oft etwas umständlicher.
Wie kann Web Scraping helfen?
Der grösste Nutzen von Web Scraping liegt darin, dass es lästige manuelle Datensammlung automatisiert. Für viele Aufgaben, die früher Stunden oder Tage menschlicher Recherche brauchten, kann ein Skript in Minuten die Daten zusammensuchen. Ein paar Beispiele, wo Web Scraping hilft:
Datenanalyse und Recherche: Ob du Marktpreise vergleichen, Rezensionen sammeln oder wissenschaftliche Daten zusammentragen möchtest – ein Scraper kann viele Seiten durchkämmen und relevante Daten extrahieren, die du dann bequem analysieren kannst.
Aktuelle Informationen: Scraper können regelmässig Webseiten checken und Änderungen erkennen. So kannst du z.B. News-Seiten überwachen, ob neue Artikel zu deinem Lieblingsthema erschienen sind, oder Preisänderungen in Online-Shops tracken.
Zeit- und Kosteneinsparung: Unternehmen nutzen Scraping, um sich repetitive Arbeiten zu sparen. Anstatt manuell Informationen abzutippen, lässt man den Bot arbeiten. Das ist nicht nur schneller, sondern verringert auch Tippfehler. Kurz gesagt: Automatisierung durch Scraping steigert die Effizienz.
Neue Möglichkeiten durch grosse Datenmengen: Manche Erkenntnisse gewinnt man erst, wenn man viele Datenpunkte gesammelt hat. Web Scraping ermöglicht es auch kleinen Teams oder Einzelpersonen, an solche Datenmengen heranzukommen – etwa alle Produktbewertungen eines Shops einzusammeln, um daraus Trends abzuleiten.
Gerade in der heutigen Daten-getriebenen Welt ist Web Scraping ein mächtiges Werkzeug, um an öffentliche Informationen im Web heranzukommen und so besser informierte Entscheidungen zu treffen. Wichtig ist natürlich, immer die Legalität im Auge zu behalten – doch dazu später mehr im Rechtslage-Abschnitt.
Häufige Einsatzgebiete von Web Scraping
Web Scraping wird in vielen Bereichen eingesetzt – oft im Hintergrund, ohne dass Endnutzer es merken. Hier sind einige typische Einsatzgebiete:
Preise und Produkte vergleichen: Zahlreiche Preisvergleichsportale und Shopping-Apps nutzen Scraper, um aktuelle Preise, Produkte und Verfügbarkeiten von verschiedenen Online-Shops einzusammeln. So kann ein Portal dem Nutzer auf einen Blick zeigen, wo ein bestimmtes Produkt am günstigsten ist.
Suchmaschinen und Verzeichnisse: Grosse Suchmaschinen wie Google schicken Crawler übers Web, um Webseiten zu indexieren. Aber auch für spezielle Zwecke – zum Beispiel Immobilien- oder Autoplattformen – werden Scraper eingesetzt, um Listings von anderen Seiten zusammenzutragen (immer vorausgesetzt, es ist erlaubt).
Kontaktinformationen sammeln: Im Vertrieb oder Marketing ist es gängig, öffentlich verfügbare Kontaktdaten zu sammeln. Beispielsweise könnten Scraper genutzt werden, um von Firmenwebsites Adressen oder Ansprechpartner herauszuziehen, um eine eigene Firmendatenbank aufzubauen. (Hier ist jedoch Vorsicht geboten wegen Datenschutz, siehe Rechtslage.)
Finanz- und Wetterdaten: Anleger und Analysten greifen oft auf Web Scraping zurück, um Finanzkennzahlen, Börsenkurse oder Wirtschaftsdaten von diversen Websites automatisiert zu sammeln. Ähnlich werden Wetterdaten oder Statistiken aus dem Web zusammengetragen, um Prognosen oder Analysen zu fahren.
Monitoring und BI: Unternehmen nutzen Scraper, um ihre Online-Präsenz zu überwachen – z.B. ob über ihre Marke irgendwo etwas geschrieben wird (Reputation Monitoring) oder um die Konkurrenz im Blick zu behalten.
Wissenschaft und Journalismus: In Forschung und Datenjournalismus werden Webscraper eingesetzt, um z.B. grosse Mengen an Artikeln, Social-Media-Posts oder anderen Webinhalten für Studien und Recherchen zusammenzutragen.
Künstliche Intelligenz (KI): Moderne KI-Modelle (wie grosse Sprachmodelle oder Bilderkennungs-KIs) werden oft mit riesigen Datenmengen aus dem Internet trainiert, die per Web Scraping gewonnen wurden. Beispielsweise basieren manche Trainingsdatensätze auf Common Crawl, einem gigantischen Webscraping-Projekt, das Billionen von Wörtern aus Websites gesammelt hat. Auch Bild-KIs wie Stable Diffusion nutzen riesige, durch Scraping erstellte Datensätze (LAION enthält über 5 Milliarden Bilder, die aus dem Web gesammelt wurden). Kurzum: Ohne Web Scraping gäbe es viele KI-Systeme in ihrer heutigen Form nicht – wobei genau dieses massenhafte Scraping persönlicher Daten auch für Diskussionen und neue Datenschutz-Regeln sorgt.
Wie man sieht, ist Web Scraping sehr vielseitig. Vom kleinen Hobby-Projekt (z.B. automatisch die neuesten Kinofilme von einer Website holen) bis hin zu Big Data für KI – überall dort, wo öffentlich zugängliche Daten im Web schlummern, kann Scraping ein Schlüssel sein, um sie nutzbar zu machen.
Was kann man mit Web Scraping alles machen?
Neben den klassischen Anwendungsfällen eröffnet kreatives Scraping auch ein paar überraschende Möglichkeiten. Hier ein paar Dinge, die man damit machen könnte:
Versteckte Informationen aufdecken: Manche Websites zeigen bestimmte Daten erst nach einer Interaktion an – z.B. muss man auf einen "Nummer anzeigen"-Button klicken, um die Telefonnummer eines Verkäufers zu sehen. Mit Tools wie Selenium (dazu gleich mehr) kann man solche verdeckten Elemente trotzdem automatisiert sichtbar machen und dann auslesen. Oft stehen Telefonnummern oder E-Mails auch im HTML-Code, aber sind per Css ausgeblendet oder als Bild eingebunden, damit Menschen sie nicht sofort sehen. Ein Scraper kann den Quelltext direkt durchsuchen und so solche versteckten Kontaktdaten extrahieren, die ein normaler Nutzer übersieht. Webseitenbetreiber versuchen zwar, sensible Daten z.B. als Bild oder hinter Scripts zu verstecken, aber ein cleverer Scraper kann viele dieser Hürden umgehen. Natürlich muss man hier besonders auf Datenschutz und Erlaubnis achten – nur weil man etwas scrapen kann, heisst das nicht, dass man es darf!
Grosse Datenmengen zusammenführen: Willst du vielleicht eine eigene Datenbank aufbauen – z.B. alle Restaurants deiner Stadt mit Adresse, Telefonnummer und Öffnungszeiten? Statt alle Homepages abzutelefonieren, könntest du einen Scraper schreiben, der Verzeichnisse oder Google Maps ausliest (wenn erlaubt) und die Daten sammelt. So könntest du z.B. auf Knopfdruck eine CSV-Datei aller Restaurants generieren lassen.
Automatisierte Berichte erstellen: Web Scraping kann auch in Workflows eingebunden werden. Z.B. könnte ein Skript jede Nacht die neuesten Börsenkurse und News scrapen und dir morgens einen Bericht per E-Mail schicken. Oder du scrapest Wetterdaten und fütterst damit automatisch ein Excel-Dashboard für deine Landwirtschaftsplanung.
Inhalte für KI-Modelle sammeln: Wie oben erwähnt, nutzen KI-Projekte Scraping, um Trainingsdaten zu sammeln. Auch als Hobby-Entwickler könntest du z.B. Web Scraping einsetzen, um dein eigenes kleines Machine-Learning-Datenset zu erstellen – z.B. alle Gedichte von Goethe aus dem Projekt Gutenberg scrapen, um ein Textmodell zu trainieren (die Gedichte sind gemeinfrei, also datenschutz- und urheberrechtlich unbedenklich in dem Fall).
Wichtig: Viele dieser Anwendungen bewegen sich rechtlich in einer Grauzone oder erfordern zumindest, dass man sehr verantwortungsbewusst mit den Daten umgeht. Gerade beim Scrapen von persönlichen Daten (Namen, Telefonnummern, E-Mails etc.) muss man extrem vorsichtig sein – oft ist es schlicht verboten ohne Einwilligung (siehe Rechtslage). Und wenn ein Website-Betreiber Inhalte absichtlich versteckt oder schützt, sollte man zweimal überlegen, ob man diese Hürde wirklich umgehen darf oder damit evtl. gegen Gesetze oder die AGB der Seite verstösst.
Browser-Automatisierung mit Selenium und ChromeDriver
Wie schon angedeutet, stossen einfache Scraper, die nur den HTML-Quelltext abholen, an ihre Grenzen, wenn Webseiten dynamisch sind. Viele moderne Websites nutzen JavaScript, um Inhalte nachzuladen oder auf Benutzeraktionen zu reagieren. Ein klassischer Beispiel: Du öffnest eine Seite und erst nach dem Scrollen oder Klicken lädt sie weitere Inhalte nach (infinite scroll, Lazy Loading etc.). Ein einfacher requests-Aufruf bekommt nur den initialen HTML-Code und würde diese nachgeladenen Inhalte gar nicht sehen.
Hier kommt Browser-Automatisierung ins Spiel. Mit Tools wie Selenium kannst du einen echten Webbrowser per Skript steuern. Selenium bietet eine einheitliche Schnittstelle, um verschiedene Browser (Chrome, Firefox, Edge, Safari...) fernzusteuern. Du brauchst dafür den passenden WebDriver – z.B. den ChromeDriver für Google Chrome – der als Bindeglied zwischen deinem Skript und dem Browser fungiert.
Was ermöglicht Selenium? So ziemlich alles, was ein Nutzer von Hand im Browser tun könnte, nur eben automatisch:
- Seite laden: Du kannst Selenium anweisen, eine URL zu öffnen. Der Browser rendert die Seite dann ganz normal, führt auch JavaScript aus usw.
- Interaktionen durchführen: Du kannst HTML-Elemente anklicken, Texteingaben machen (z.B. ein Login-Formular ausfüllen und absenden), Dropdowns auswählen, Scrollen und mehr.
- Warten und Synchronisieren: Selenium kann warten, bis die Seite fertig geladen ist oder bis ein bestimmtes Element erscheint. So stellst du sicher, dass auch langsam ladende Inhalte berücksichtigt werden.
- HTML auslesen: Sobald die Seite in dem gesteuerten Browser den Zustand hat, den du brauchst (z.B. alle "versteckten" Telefonnummern sind sichtbar, weil du Buttons geklickt hast), kannst du den aktuellen HTML-Inhalt abrufen. Diesen HTML-Code kannst du dann wiederum mit einem Parser wie BeautifulSoup weiterverarbeiten, als wäre es eine statische Seite.
Mit Selenium + ChromeDriver kannst du also sehr komplexe Seiten scrapen, die reine HTTP-Tools nicht packen würden. Der Preis dafür ist, dass es ressourcenintensiver ist (ein Browser braucht mehr RAM/CPU als nur Text abrufen) und oft etwas langsamer. Für kleinere Datenmengen oder wenn unbedingt nötig, ist Selenium aber ideal.
Praxis-Beispiel: Stell dir vor, du möchtest Immobilienanzeigen scrapen, aber die Seite listet immer nur 20 Angebote und du musst auf "Mehr laden" klicken. Mit Selenium kannst du ein Script schreiben, das immer wieder auf "Mehr laden" klickt, bis alle Angebote sichtbar sind, und dann den kompletten HTML-Inhalt mit allen Angeboten ausliest. So bekommst du in einem Rutsch alle Daten.
Hinweis: Bei Selenium-Scraping solltest du nach Möglichkeit den Browser im Headless-Modus starten (d.h. ohne sichtbares Fenster), damit es schneller läuft. Und denk dran, auch ein Browser-Bot sollte sich an die Regeln halten (z.B. nicht im Millisekunden-Takt 1000 Klicks schicken).
Rechtslage: Was ist erlaubt?
Die rechtliche Situation rund um Web Scraping ist komplex und variiert je nach Land, Art der Daten und Verwendungszweck. Grundsätzlich ist Web Scraping nicht per se illegal, aber es gibt viele Fallstricke. Hier ein Überblick über die wichtigsten rechtlichen Aspekte in der Schweiz, Deutschland, Österreich und Italien:
Schweiz: In der Schweiz gibt es kein spezifisches Gesetz, das Web Scraping verbietet. Allerdings können verschiedene Rechtsgebiete betroffen sein: Urheberrecht (geschützte Inhalte dürfen nicht einfach kopiert werden), Datenschutz (besonders bei personenbezogenen Daten), AGB-Verstösse und technische Schutzmassnahmen. Scraping öffentlich zugänglicher Daten ist meist zulässig, solange keine besonderen Schutzmassnahmen greifen und die Daten nicht missbräuchlich verwendet werden.
Deutschland: Web Scraping ist nicht ausdrücklich verboten, aber mehrere Gesetze können greifen: Urheberrecht & Datenbankrecht, DSGVO (personenbezogene Daten nur mit Rechtsgrundlage), unlauterer Wettbewerb und AGB-Verstösse. Wichtige Gerichtsurteile haben klargestellt, dass das Scrapen öffentlich verfügbarer Daten grundsätzlich zulässig ist, solange keine Rechte verletzt werden. Seit 2021 gibt es EU-weite Ausnahmen für Text- und Data-Mining, besonders für wissenschaftliche Zwecke.
Österreich: Als EU-Mitglied gelten ähnliche Grundsätze wie in Deutschland. Österreich hat die EU-Ausnahmen zu Text- und Data-Mining umgesetzt, die das Mining erlauben, wenn Werke rechtmässig zugänglich sind und kein Widerspruch des Rechteinhabers vorliegt.
Italien: Italien unterliegt ebenfalls der DSGVO und EU-Regeln, aber die italienische Datenschutzbehörde (Garante) geht sehr streng gegen Scraping vor, sobald persönliche Daten ins Spiel kommen. 2023 wurde ein Fall mit einer Geldstrafe von 60.000 € geahndet, bei dem ein inoffizielles Telefonverzeichnis per Web Scraping erstellt wurde.
Allgemeine Tipps zur Rechtskonformität
Egal in welchem Land, ein paar Grundregeln kann man festhalten, um auf der sicheren Seite zu sein:
- Öffentlich zugängliche Daten: Scrape nur, was ohne Login oder besondere Zugangsbeschränkung im Web sichtbar ist.
- Urheberrecht beachten: Verwende die gescrapten Daten nur im Rahmen dessen, was erlaubt ist. Kleine Auszüge oder Fakten sind meist okay, komplette Artikel klauen nicht.
- Technische Sperren respektieren: Umgehe keine Massnahmen wie Captchas, IP-Blocks oder Passwortschutz.
- Datenschutz wahren: Finger weg von personenbezogenen Daten, ausser du hast eine klare Erlaubnis.
- Fair Use und Fairness: Belaste den Ziel-Server nicht mit exzessiven Anfragen.
- Im Zweifel fragen: Wenn du unsicher bist, frag den Webseitenbetreiber um eine Erlaubnis für Scraping.
Abschliessend: Web Scraping ist in einer Grauzone – an sich oft legal, aber mit vielen "Aber". Die Kunst ist, das Tool verantwortungsvoll einzusetzen.
Einfache Anleitung: Eine statische Seite mit Python scrapen
Genug der Theorie – jetzt zeigen wir Schritt für Schritt, wie man eine einfache statische Webseite mit Python scrapen kann. "Statisch" bedeutet hier: die Inhalte stehen direkt im HTML und werden nicht erst durch JavaScript nachgeladen. Als Beispiel nehmen wir einfach die berühmte Beispiel-Seite example.com, auf der etwas Text steht und ein paar Links.
Vorbereitung: Stelle sicher, dass Python installiert ist. Wir brauchen ausserdem zwei Libraries: requests (für den HTTP-Download) und beautifulsoup4 (für das Parsen von HTML). Diese kann man über pip installieren:
pip install requests
pip install beautifulsoup4
Nun zum Code. Erstelle eine Datei scrape_example.py mit folgendem Inhalt:
import requests
from bs4 import BeautifulSoup
# 1. Webseite abrufen
url = "http://example.com"
response = requests.get(url)
if response.status_code != 200:
print(f"Fehler: Seite antwortete mit Status {response.status_code}")
exit()
html_content = response.text # Der HTML-Inhalt als Text
# 2. HTML parsen
soup = BeautifulSoup(html_content, "html.parser")
# 3. Gewünschte Daten finden
# In unserem Beispiel holen wir den Haupt-<h1>-Titel und alle Link-Texte.
title_tag = soup.find("h1")
if title_tag:
print("Seitentitel:", title_tag.get_text().strip())
all_links = soup.find_all("a")
print(f"Gefundene Links: {len(all_links)}")
for link in all_links:
text = link.get_text().strip()
href = link.get('href')
print(f" - Link-Text: '{text}' -> URL: {href}")
Erläuterung: Wir importieren die benötigten Module, laden die Seite mit requests.get() herunter, prüfen den Statuscode, parsen den HTML-Inhalt mit BeautifulSoup und extrahieren dann gezielt die gewünschten Daten wie den <h1>-Titel und alle Links.
Wenn wir dieses Skript ausführen, sollte es etwa so etwas ausgeben:
Seitentitel: Example Domain
Gefundene Links: 2
- Link-Text: 'More information...' -> URL: http://www.iana.org/domains/example
Damit haben wir erfolgreich die Beispiel-Seite ausgelesen. Dieses Beispiel zeigt, wie einfach Web Scraping in Python umgesetzt werden kann. Mit nur ein paar Zeilen Code liest man eine Website aus und fischt die gewünschten Infos heraus.
Vergleich: Einfaches Scraping-Beispiel mit PHP
Um den Unterschied zu verdeutlichen, wie viel bequemer Python sein kann, hier das gleiche Vorhaben in PHP:
<?php
$url = "http://example.com";
$html = file_get_contents($url);
if ($html === FALSE) {
die("Fehler beim Laden der URL");
}
// HTML parsen mit DOMDocument
libxml_use_internal_errors(true); // Fehler beim Parsen ignorieren
$doc = new DOMDocument();
$doc->loadHTML($html);
// 1. <h1> Titel ausgeben
$h1Tags = $doc->getElementsByTagName("h1");
if ($h1Tags->length > 0) {
echo "Seitentitel: " . trim($h1Tags->item(0)->textContent) . "\n";
}
// 2. Alle Links ausgeben
$linkTags = $doc->getElementsByTagName("a");
echo "Gefundene Links: " . $linkTags->length . "\n";
foreach ($linkTags as $link) {
$text = trim($link->textContent);
$href = $link->getAttribute('href');
echo " - Link-Text: '$text' -> URL: $href\n";
}
?>
Funktional macht das PHP-Beispiel dasselbe wie das Python-Beispiel, aber es ist etwas umständlicher: Man muss libxml_use_internal_errors() setzen, um Parsing-Warnungen zu unterdrücken, und die DOM-API ist weniger intuitiv als BeautifulSoup. Ausserdem ist die Syntax von PHP für Anfänger oft weniger lesbar.
Der Vergleich soll nicht PHP schlechtreden – PHP ist toll für Webentwicklung – aber fürs schnelle Skripten von Scraping-Tasks greifen viele lieber zu Python, weil es schneller zu Ergebnissen führt. Für Anfänger ist Python durch seine klarere Syntax oft leichter verständlich.
Fazit und Hinweise zum Abschluss
Wir haben in diesem Beitrag gesehen, was Web Scraping ist, welche Tools dafür beliebt sind, und welche vielfältigen Anwendungsgebiete es gibt – vom einfachen Datensammeln bis hin zum Training von KI-Systemen. Insbesondere haben wir uns auf Python als Anfängertool Nr. 1 konzentriert, da dessen einfache Syntax und mächtige Libraries wie requests, BeautifulSoup und Selenium das Scraper-Leben erheblich vereinfachen. Ein kurzer Blick auf PHP zeigte, dass prinzipiell auch andere Sprachen gehen, Python aber oft mit weniger Code auskommt.
Wichtigste Erkenntnis für Einsteiger: Web Scraping ist kein Hexenwerk. Mit wenigen Zeilen Code kann man schon nützliche Informationen aus Webseiten ziehen. Allerdings ist es auch kein rechtsfreier Raum – man muss genau überlegen, was man scrapen darf und wie man es tut, um keine Gesetze oder Regeln zu verletzen.
Zum Abschluss nochmals dringende Hinweise:
- Dieser Beitrag dient nur zur Vorführung. Bitte probiere Scraping zunächst nur auf unkritischen, eigenen oder dafür freigegebenen Webseiten aus.
- Scrape nie wild fremde Websites, ohne die Erlaubnis oder zumindest die rechtliche Lage zu prüfen. Gerade bei persönlichen Daten oder geschütztem Content: Finger weg, sofern du keine ausdrückliche Genehmigung hast.
- Viele Websites haben APIs oder Datenexporte – manchmal lässt sich das gewünschte Ziel auch ohne Scraping erreichen. Das ist dann meist der bessere Weg.
- Wenn du Scraping lernst, fang klein an: probiere es auf einer simplen HTML-Seite aus, steigere dich dann zu komplexeren Seiten. Teste auch mal Selenium, um ein Gefühl für die Browser-Automatisierung zu bekommen, aber bedenke, dass das etwas aufwändiger ist.
Web Scraping kann ein spannendes Werkzeug sein, das dir neue Möglichkeiten eröffnet. Bleib aber immer fair und legal dabei, dann steht dem automatisierten Datensammeln als hilfreiches Tool nichts im Wege. Viel Erfolg beim Ausprobieren!
Was bisher geschah
Wissenswertes aus dem Cyber-Ding namens Internet