Posts

Web Scraping mit und ohne Code

Wenn Sie ein kleines Start-up haben, möchten Sie möglicherweise nicht mit anderen Unternehmen zusammenarbeiten, um Marketinginformationen zu erhalten, die für Ihr Geschäft wichtig sind. Das ist aber nicht nötig, denn bei fast allen erfolgreichen Unternehmen bekommt man online alle Daten, die man braucht, nur mit eigenem Wissen und ein paar nützlichen Web-Tools.

Aber um die erhaltenen Daten in Ihren Marketing- und anderen Strategien verwenden zu können, müssen Sie sie in die richtige Form bringen. Wie kann man Daten aus dem Internet extrahieren, verarbeiten, bereinigen und auch visualisieren? Welche Aktivitäten sind legal und welche nicht?

Mit Web Scraping die richtigen Daten extrahieren

Web Scraping bezieht sich auf die Verwendung eines Programms oder Algorithmus, um große Datenmengen aus dem Internet zu extrahieren und zu verarbeiten. Egal, ob Sie Datenwissenschaftler, Ingenieur oder jemand sind, der große Mengen an Datensätzen analysiert, die Möglichkeit, Daten aus dem Internet zu sammeln, ist in allen Bereichen nützlich, vom Sport bis zum Vertrieb.

Angenommen, Sie haben Daten im Internet gefunden und es gibt keine direkte Möglichkeit, sie herunterzuladen. In diesem Fall wäre Web Scraping mit Code wie etwa mit R oder Python eine Gelegenheit, mit der Sie Daten in eine verwendbare Form extrahieren können, die importiert werden kann.

Parsen von Webseiten mit Beautiful Soup

Wenn Sie Jupyter Notebook verwenden, sollten Sie damit beginnen, die erforderlichen Module zu importieren – seaborn, pandas, numpy, matplotlib.pyplot. Wenn Sie Jupyter Notebook nicht installiert haben, können Sie es mit der online verfügbaren Anaconda Python-Distribution installieren. Stellen Sie sicher, dass sie die integrierte %matplotlib enthält, um Diagramme einfach anzuzeigen.

Um Webseiten zu analysieren, sollten Sie auch einige Bibliotheken importieren:

  • Das Modul urllib.request wird zum Öffnen von URLs verwendet.
  • Das Paket Beautiful Soup wird verwendet, um Daten aus HTML-Dateien zu extrahieren.
  • Die Beautiful Soup-Bibliothek heißt bs4, was für Beautiful Soup Version 4 steht.

Nach dem Importieren der erforderlichen Module sollten Sie die URL mit dem Datensatz angeben und an urlopen() übergeben, um den HTML-Code der Seite abzurufen:

url = “http://www.webseite-beispiel.com/beitrag”

html = urlopen(url)

Das Erhalten der HTML-Seite ist nur der erste Schritt. Der nächste Schritt besteht darin, ein Beautiful Soup-Objekt aus HTML zu erstellen. Dies geschieht, indem der HTML-Code an die Funktion BeautifulSoup() übergeben wird.

Das Paket Beautiful Soup wird zum Analysieren von HTML verwendet, d. h. es nimmt rohen HTML-Text und parst ihn in Python-Objekte. Das zweite Argument „lxml“ ist der HTML-Parser:

soup = BeautifulSoup(html, ‘lxml’)

type(soup)

bs4.BeautifulSoup

Mit dem Soup-Objekt können Sie interessante Informationen über die Website extrahieren, die Sie scrapen, z. B. den Titel der Seite abrufen:

title = soup.title

print(title)

Sie können auch den Text einer Webseite abrufen und schnell ausdrucken, um zu sehen, ob er Ihren Erwartungen entspricht. Sie können den HTML-Code einer Webseite anzeigen, indem Sie mit der rechten Maustaste auf eine beliebige Stelle auf der Webseite klicken und „Inspizieren“ („Inspect“) auswählen.

Als Nächstes können Sie die Suppenmethode find_all() verwenden, um nützliche HTML-Tags von der Webseite zu extrahieren. Beispiele für nützliche Tags sind <a> für Hyperlinks, <table> für Tabellen, <tr> für Tabellenzeilen, <th> für Tabellenköpfe und <td> für Tabellenzellen.

Wenn es Ihnen schwer fällt, die notwendigen Informationen mithilfe von Code aus der ausgewählten Website zu extrahieren, macht das nichts. Heutzutage gibt es mehrere wirklich hochwertige Software, mit der Sie dies in wenigen Minuten ohne Python-Kenntnisse tun können.

Auf diese Weise treffen Sie den neuen Standard im Web Scraping. Mit den besten Tools können Sie nicht nur Informationen aus allen öffentlichen Quellen extrahieren, sondern sie auch im gewünschten Format und am richtigen Ort speichern.

Ist Web Scraping legal?

Web Scraping gibt es schon lange und in guter Verfassung ist es eine wichtige Säule des Webs. „Gute Bots“ ermöglichen es beliebten Diensten und Unternehmen, viele nützliche Aktionen auszuführen:

  • Suchmaschinen, Webinhalte zu indexieren
  • Preisvergleichsdiensten, den Verbrauchern Geld zu sparen
  • Marktforschern, Stimmungen in sozialen Netzwerken einzuschätzen

Allerdings gibt es auch „Bad Bots“. Sie extrahieren Inhalte von einer Website mit der Absicht, sie für Zwecke zu verwenden, die außerhalb der Kontrolle des Eigentümers der Website liegen. Bad Bots machen 20 Prozent des gesamten Webverkehrs aus und werden verwendet, um eine Vielzahl von böswilligen Aktivitäten wie Denial-of-Service-Angriffe, Online-Betrug, Kontohijacking, Datendiebstahl, Diebstahl geistigen Eigentums, nicht autorisiertes Scannen auf Schwachstellen, Spam und Betrug mit digitaler Werbung durchzuführen.

Was ist also legal und was ist illegal? Web Scraping und Crawling ist per se nicht illegal. Schließlich kann man seine eigene Website problemlos scrapen oder crawlen.

Startups mögen es, weil es eine kostengünstige und leistungsstarke Möglichkeit ist, Daten zu sammeln, ohne dass eine Partnerschaft erforderlich ist. Großunternehmen nutzen Scraper zu ihrem eigenen Vorteil, wollen aber auch nicht, dass andere Bots in Bezug auf sie einsetzen.

Die meisten Websites haben keinen Web-Scraping-Schutz. Sollten Unternehmen Web Scraping verhindern? Während die Gerichte versuchen, über die Rechtmäßigkeit des Scrapings zu entscheiden, werden Unternehmen immer noch ihre Daten gestohlen und die Geschäftslogik ihrer Websites missbraucht.

Aber anstatt sich an das Gesetz zu wenden, um dieses technologische Problem letztendlich zu lösen, kann man es mit Anti-Bot- und Scraping-Technologien bekämpfen.