logo
languageDEdown
menu

Web Scraping mit Python: Eine Schritt-für-Schritt-Anleitung

4 Minuten lesen

Der Bedarf an der Extraktion von Daten aus Websites steigt. Bei datenbezogenen Projekten wie Preisüberwachung, Unternehmensanalyse oder Nachrichtenaggregator ist es erforderlich, Daten von Websites zu erfassen. Das manuelle Kopieren und Einfügen von Daten ist ineffizient. In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe von Python und Web Scraping ein “Profi” in der Datenextraktion werden können.

Schritt 0: Einführung

Web Scraping ist eine Technik, die uns helfen, unstrukturierte HTML-Daten in strukturierte Daten umzuwandeln. Neben der Verwendung von Python zum Schreiben des Codes können Sie auch Webseitendaten mit API oder Datenextraktionstools wie Octoparse erhalten.

Einige große Websites wie Airbnb oder Twitter stellen Entwicklern eine API für den Zugriff auf ihre Daten zur Verfügung. API steht für “Application Programming Interface” (Anwendungsprogrammierschnittstelle), damit zwei Anwendungen miteinander kommunizieren können. Für die meisten Menschen ist API der optimale Ansatz, um Daten von einer Website zu erhalten.

Die meisten Websites bieten jedoch keine API-Dienste an. Und selbst wenn sie API anbieten, ist es möglich, dass die Daten Ihre Bedürfnisse nicht erfüllen können. Daher ist das Schreiben eines Python-Skripts zur Erstellung eines Web-Crawlers eine weitere leistungsstarke und flexible Lösung.

Warum sollten wir Python anstelle anderer Sprachen verwenden?

✅ Flexibilität: Alle wissen, dass Websites schnell aktualisiert. Nicht nur der Inhalt, sondern auch die Webstruktur ändert sich häufig. Python ist eine einfach zu verwendende Sprache, da sie dynamisch berechenbar und sehr produktiv ist. Daher können Menschen ihren Code einfach ändern und mit der Geschwindigkeit des Web-Updates Schritt halten.

✅ Leistungsstarke: Python verfügt über eine große Sammlung von ausgereiften Bibliotheken. Zum Beispiel könnten Requests und Beautifulsoup4 uns helfen, URLs abzurufen und Informationen aus Webseiten herauszuziehen. Selenium könnte uns helfen, einige Anti-Scraping-Techniken zu umgehen, indem es Web-Crawlern die Möglichkeit gibt, das menschliche Surfverhalten nachzuahmen. Darüber hinaus sind re, numpy und pandas bei der Bereinigung und Verarbeitung der Daten hilfreich.

Beginnen wir unsere Reise zum Web Scraping mit Python!

Schritt 1: Python-Bibliothek importieren

In diesem Tutorial zeigen wir Ihnen, wie Sie Bewertungen von Yelp abrufen können. Wir werden zwei Bibliotheken verwenden: BeautifulSoup in bs4 und request in urllib. Diese beiden Bibliotheken werden häufig beim Aufbau eines Webcrawlers mit Python verwendet. Der erste Schritt besteht darin, diese beiden Bibliotheken in Python zu importieren, damit wir die Funktionen in diesen Bibliotheken verwenden können.

Python-Bibliothek

Schritt 2: Extrahieren Sie den HTML-Code einer Webseite

Wir möchten die Bewertungen von “https://www.yelp.com/biz/milk-and-cream-cereal-bar-new-york?osq=Ice+Cream” extrahieren. Speichern wir also zunächst die URL in einer Variablen namens URL. Dann können wir auf den Inhalt dieser Webseite zugreifen und den HTML-Code in “ourUrl” speichern, indem wir die Funktion urlopen() in request verwenden.

HTML-Code

Dann wenden wir BeautifulSoup an, um die Seite zu analysieren.

HTML-Code

Nun haben wir das Roh-HTML dieser Website, können wir eine Funktion namens prettify() verwenden, um die Rohdaten zu bereinigen und sie auszudrucken, um die verschachtelte Struktur des HTML zu sehen.

HTML-Code

Schritt 3: Finden und scrapen Sie die Bewertungen

Als Nächstes sollten wir die Bewertungen auf dieser Webseite finden, und extrahieren. Jedes Element auf der Webseite hat eine eindeutige HTML-“ID”. Um die ID zu überprüfen, sollen wir sie auf einer Webseite detektieren.

Bewertungen

Nachdem wir auf “Inspect element” (oder “Inspect”, je nach Browser) geklickt haben, können wir den HTML-Code der Bewertung sehen.

der HTML-Code der Bewertung

In diesem Fall befinden sich die Bewertungen unter dem Tag “p”. Wir werden also zunächst die Funktion find_all() verwenden, um den übergeordneten Knoten dieser Bewertungen zu finden. Dann suchen wir in einer Schleife alle Elemente mit dem Tag “p” unter dem übergeordneten Knoten. Nachdem wir alle “p”-Elemente gefunden haben, speichern wir sie in einer leeren Liste namens “review”.

der HTML-Code der Bewertung

Jetzt erhalten wir alle Bewertungen von dieser Seite. Schauen wir mal, wie viele Bewertungen wir extrahiert haben.

den HTML-Code der Bewertung

Schritt 4: Reinigen Sie die Bewertungen

Wahrscheinlich haben Sie bemerkt, dass es immer noch einige überflüssige Texte wie “<p lang=’en’>” am Anfang jeder Bewertung, “<br/>” in der Mitte der Bewertungen und “</p>” am Ende jeder Bewertung gibt.

“<br/>” steht für einen einfachen Zeilenumbruch. Wir brauchen keinen Zeilenumbruch in den Übersichten, deswegen löschen wir sie. Außerdem stehen “<p lang=’en’>” und “</p>” für den Anfang und das Ende des HTML-Satzes, die wir ebenfalls löschen sollen.

Reinigen Sie die Bewertungen

Schließlich erhalten wir erfolgreich alle sauberen Bewertungen mit weniger als 20 Codezeilen.

Der Artikel ist nur eine Demo, um 20 Bewertungen von Yelp abzurufen. Aber in realen Fällen müssen wir möglicherweise viele andere Situationen bewältigen. Zum Beispiel benötigen wir manchmal Schritte wie Umblättern, um zu anderen Seiten zu gehen und Bewertungen auf anderen Seiten zu extrahieren. Oder wir möchten andere Informationen scrapen, wie den Namen des Rezensenten, den Ort des Rezensenten, die Zeit der Rezession, die Bewertung, das Einchecken usw..

Um den obigen Vorgang zu implementieren und mehr Daten zu erhalten, müssten wir weitere Funktionen und Bibliotheken wie Selenium oder reguläre Ausdrücke erlernen.

Wenn Sie nach einer einfachen Möglichkeit suchen, um Web Scraping zu betreiben, könnte Octoparse die Wahl für Sie. Octoparse ist ein leistungsstarkes Web-Scraping-Tool, mit dem Sie ganz einfach Informationen von Websites erhalten können. Es bietet verschiedene Funktionen wie automatisierte Interaktionen mit den Websites, das Extrahieren von Daten in verschiedenen Formaten und die Planung von Scraping-Aufgaben. Mit Octoparse können Sie Zeit und Mühe sparen, da es sehr benutzerfreundlich ist und keine Programmierkenntnisse erfordert. Probieren Sie es noch heute aus und erleben Sie die Leichtigkeit des Web Scrapings mit Octoparse!

Hier bekommen Sie Octoparse! 🤩

Preis: $0~$249 pro Monat

Packet & Preise: Octoparse Premium-Preise & Verpackung

Kostenlose Testversion: 14-tägige kostenlose Testversion

Herunterladen: Octoparse für Windows und MacOs

Wenn Sie Probleme bei der Datenextraktion haben, oder uns etwas Vorschlägen geben möchten, kontaktieren Sie bitte uns per E-Mail (support@octoparse.com). 💬

Autor*in: Das Octoparse Team ❤️

Erhalte Webdaten in Klicks
Daten-Scraping von jeder Website ganz ohne Codierung.
Kostenloser Download

Beliebte Beiträge

Themen untersuchen

Starten mit Octoparse heute

Downloaden

Verwandte Artikel