logo
languageDEdown
menu

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

4 Minuten lesen

Der Bedarf, Daten aus Websites zu extrahieren, nimmt zu. Bei der Durchführung von datenbezogenen Projekten wie Preisüberwachung, Unternehmensanalyse oder Nachrichtenaggregator müssen wir immer Daten von Websites erfassen. Das zeilenweise Kopieren und Einfügen von Daten ist jedoch nicht effizient. In diesem Artikel zeigen wir Ihnen, wie Sie ein “Profi” bei der Extraktion von Daten aus Websites werden können, nämlich durch Web Scraping mit Python.

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.

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.

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

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.

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.

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

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”.

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

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.

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.

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 ❤️

Themen untersuchen

Starten mit Octoparse heute

Download

Verwandte Artikel

  • avatarChristel Kiesel
    Web Scraping ermöglicht es uns, große Datenmengen von Websites auf automatisierte Weise zu extrahieren. Es gibt viele Anwendungsfälle, von der Produktforschung bis zur Datenwissenschaft. Zwei Hauptoptionen für Web Scraping sind die Programmierung von JavaScript mit Node.js oder die Verwendung eines visuellen Tools wie Octoparse.
    14. März 2023 · 5 Minuten lesen
  • avatarChristel Kiesel
    Das automatisierte Extrahieren mehrerer Bilder aus Websites hat viele praktische Anwendungen, egal ob Sie Bilder für Marktforschung, Produktlisten für den elektronischen Handel, Datensätze für maschinelles Lernen oder andere Projekte benötigen. Dank Python-Bibliotheken und visuellen Web-Scraping-Tools ist es heute ein Leichtes, Hunderte oder sogar Tausende von Bildern innerhalb weniger Minuten aus dem Internet zu extrahieren.
    13. März 2023 · 5 Minuten lesen
  • avatarChristel Kiesel
    Ein Web-Crawler (auch bekannt als Spider oder Bot) ist ein Computerprogramm, das automatisch durch das World Wide Web surft, um Informationen zu sammeln. Web-Crawler werden häufig von Suchmaschinen eingesetzt, um Webseiten zu indizieren, damit Benutzer sie schnell und einfach durchsuchen können. Ein Web-Crawler beginnt normalerweise mit einer Liste bekannter URLs und durchläuft jede Seite, indem er die darin enthaltenen Links folgt. Dabei kann er Daten wie Texte, Bilder und Metadaten sammeln, die später analysiert werden, um Suchmaschinenergebnisse zu verbessern. Ein Web-Crawler muss jedoch sorgfältig konfiguriert werden, um sicherzustellen, dass er nicht unnötig Traffic auf Websites verursacht oder in endlose Schleifen gerät.
    09. Februar 2023 · 5 Minuten lesen
  • avatarChristel Kiesel
    Der Online-Arbeitsmarkt hat zweifelsohne die persönlichen Einstellungsaktivitäten verdrängt. Dies gilt vor allem, wenn die meisten Städte schon mehrmals gesperrt geworden sind und sich seit COVID-19 mehr Arbeitsplätze in den Remote-Modus verlagern. In diesem Fall hilft das Scraping von Stellenanzeigen nicht nur Institutionen und Organisationen, sondern auch einzelnen Arbeitssuchenden.
    12. Dezember 2022 · 7 Minuten lesen