undefined
Blog > Datenerfassung > Post

Wie erstellt man in 10 Minuten einen Crawler zum Extrahieren von Daten aus Webseiten

Wednesday, September 29, 2021

Einführung in Web Crawling

  • Was ist Web Crawling?

 

web crawling

 

 

Unter Web Crawling versteht man das Extrahieren spezifischer HTML-Daten aus bestimmten Websites. Man kann einen Web Crawler einfach als ein spezielles Programm betrachten, das dafür ausgelegt ist, Websites gezielt zu durchsuchen und Daten zu sammeln. Wir können aber nicht die URL-Adressen aller Seiten einer Website im Voraus ermitteln. Es geht also darum, wie man alle HTML-Webseiten einer Website abrufen kann.

 

  • Alle URLs durchlaufen

 

traverse all the urls

 

 

Normalerweise könnten wir eine Einstiegsseite so definieren: Eine Webseite enthält URLs anderer Webseiten, dann könnten wir diese URLs von der aktuellen Seite abrufen und alle diese zugehörigen URLs in die Crawling-Warteschlange aufnehmen. Als Nächstes wird eine weitere Seite gecrawlt und derselbe Prozess wie beim ersten Mal wiederholt. Im Wesentlichen könnten wir das Crawling-Schema als Tiefensuche oder Breitensuche annehmen. Und solange wir auf das Internet zugreifen und die Webseite analysieren können, können wir eine Website crawlen. Glücklicherweise bieten die meisten Programmiersprachen HTTP-Client-Bibliotheken zum Crawlen von Webseiten, und wir können sogar reguläre Ausdrücke für die HTML-Analyse verwenden.

 

 

  • Allgemeiner Web Crawler Algorithmus

 

  • beginnt mit einer Liste von Anfangs-URLs, den sogenannten Seeds
  • besucht diese URLs
  • ruft der erforderlichen Informationen von der Seite ab
  • identifiziert alle Hyperlinks auf der Seite.
  • fügt die Links der URL-Warteschlange hinzu, die als "crawler frontier" bezeichnet wird.
  • besucht der URLs von "crawler frontier".

 

Wie crawlt man eine Website?

crawl a website

 

 

 

  • Zwei wichtige Schritte zur Erstellung eines Web Crawlers

Um einen Web-Crawler zu bauen, muss man zunächst die Webseiten herunterladen. Dies ist nicht einfach, da viele Faktoren berücksichtigt werden müssen, z. B. wie die lokale Bandbreite besser genutzt werden kann, wie DNS-Abfragen optimiert werden können und wie der Server durch eine sinnvolle Zuweisung von Webanfragen entlastet werden kann.

 

Nachdem wir die Webseiten abgerufen haben, folgt die Analyse der Komplexität der HTML-Seiten. In der Tat können wir nicht alle HTML-Webseiten gerade bekommen. Und hier kommt ein weiteres Problem ins Spiel. Wie kann man die von Javascript generierten Inhalte erhalten, wenn AJAX überall für dynamische Webseiten verwendet wird? Außerdem würde die im Internet häufig auftretende Spider-Falle eine unendliche Anzahl von Anfragen stellen oder einen schlecht konstruierten Crawler zum Absturz bringen.

 

Es gibt zwar viele Dinge, die wir bei der Erstellung eines Webcrawlers beachten sollten, aber in den meisten Fällen wollen wir nur einen Crawler für eine bestimmte Website erstellen. Daher wäre es besser, die Struktur der Zielwebseiten gründlich zu erforschen und einige wertvolle Links herauszufiltern, um zusätzliche Kosten für überflüssige oder überflüssige URLs zu vermeiden. Außerdem könnten wir versuchen, nur das zu crawlen, was uns auf der Zielwebsite interessiert, indem wir einer vordefinierten Sequenz folgen, wenn wir einen geeigneten Crawling-Pfad für die Webstruktur herausfinden können.

 

Wenn wir zum Beispiel den Inhalt von mindhack.cn crawlen möchten und zwei Arten der Webseiten gefunden haben, die uns interessieren:

 

1. Artikelliste, wie z. B. die Hauptseite, oder die URL mit /page/\d+/ usw.

Mit Firebug konnten wir herausfinden, dass der Link eines Artikels ein "a Tag" unter h1 ist.

 

2. Artikelinhalte, wie z. B. /2008/09/11/machine-learning-and-ai-resources/, die vollständige Artikelinhalte enthalten.

So könnten wir mit der Hauptseite beginnen und andere Links von der Einstiegsseite - wp-pagenavi - abrufen. Genauer gesagt, müssen wir einen Pfad definieren: Wir folgen nur der nächsten Seite, d. h. wir könnten alle Seiten von Anfang bis Ende durchlaufen und von einem sich wiederholenden Urteil befreien. Dann werden die konkreten Artikel-Links innerhalb der Listenseite die URLs sein, die wir speichern möchten.

 

  • Einige Tipps zum Crawling

 

  • Crawl-Tiefe - Wie viele Klicks von der Einstiegsseite aus soll der Crawler durchlaufen. In den meisten Fällen ist eine Tiefe von 5 für das Crawling der meisten Websites ausreichend.
  • Verteiltes Crawling - Der Crawler versucht, die Seiten gleichzeitig zu crawlen.
  • Pause - Die Zeit, die der Crawler pausiert, bevor er die nächste Seite crawlt.
  • Je schneller Sie den Crawler einstellen, desto stärker wird der Server belastet (mindestens 5-10 Sekunden zwischen den Seitenklicks).
  • URL-Vorlage - Die Vorlage bestimmt, von welchen Seiten der Crawler Daten abfragt.
  • Protokoll speichern - In einem gespeicherten Protokoll wird gespeichert, welche URLs besucht und in Daten umgewandelt wurden. Es wird zur Fehlersuche verwendet und verhindert, dass eine besuchte Website wiederholt gecrawlt wird.

 

Ein Tool zum Crawlen der Daten finden

In der heutigen Welt gibt es viele Herausforderungen beim Webcrawling:

  • Blockierung von IP-Adressen durch Websites
  • Ungleichmäßige oder unregelmäßige Strukturen der Website
  • AJAX-geladener Inhalt
  • Latenzzeit in Echtzeit
  • Anti-Crawling aggressive website

 

Es ist keine leichte Aufgabe, all diese Probleme zu lösen. Glücklicherweise muss man jetzt nicht mehr wie früher eine Website crawlen und in einem technischen Problem stecken bleiben. Als Alternative wird eine neue Methode zum Crawlen von Daten aus Websites vorgeschlagen. Die Benutzer müssen sich nicht mehr mit komplexen Konfigurationen oder Kodierungen befassen, um selbst einen Crawler zu erstellen. Stattdessen können sie sich mehr auf die Datenanalyse in ihren jeweiligen Geschäftsbereichen konzentrieren.

 

Die Methode ist die Verwendung des automatisierten Web-Crawlers, z. B. Octoparse, der das Crawling für jede zugänglich macht. Mit Octoparse können Benutzer die integrierten Tools und APIs verwenden, und Daten mit einer benutzerfreundlichen UI crawlen. Außerdem bietet Octoparse viele praktische Funktionen an, die die oben erwähnten Probleme lösen können, z. B.: 

 

  • IP-Proxy-Server zur Verhinderung von IP-Sperren
  • Eingebautes Regex-Tool zur Umformatierung von Datenfeldern
  • AJAX-Einstellung zum Laden dynamischer Inhalte
  • Cloud-Service zur Aufteilung der Aufgabe und Beschleunigung der Extraktion usw.

 

Wenn Sie mehr über Octoparse erfahren möchten, können Sie sich das folgende Video ansehen.  

create your first scraper

Video: Create your first scraper with Octoparse 7 X

 

Weitere Ressourcen über Web Crawling, die in verschiedenen Fällen angewendet werden:

Web Crawling Case Study | Scraping Product Data from Amazon

Web Scraping for Sports Stats

 

Entdecken Sie mehr Funktionen von Octoparse:

Extracting Data from Dynamic Websites in Real-Time

Extract data behind a login

Extract Text from HTML - Using RegExp Tool

Which Language is Better for Writing a Web Crawler? PHP, Python or Node.js?

 

Oder erfahren Sie mehr darüber, wie ein Web Scraper in verschiedenen Branchen eingesetzt wird:

Top 5 Social Media Scraping Tools for 2020

5 Essential Data Mining Skills for Recruiters

Web Scraping for Sports Stats

Website Crawler & Sentiment Analysis

 

 

Autor: Das Octoparse Team 

 

Relative Artikel

 

Top 20 Web Scraping Tools to Scrape the Websites Quickly

Top 30 Big Data Tools for Data Analysis

Web Scraping Templates Take Away

How to Build a Web Crawler - A Guide for Beginners

Video: Create Your First Scraper with Octoparse 7.X

Laden Sie Octoparse herunter, um mit Web-Scraping zu beginnen, oder kontaktieren Sie uns
für die Fragen über Web Scraping!

Kontaktieren Sie uns Herunterladen
btnImg
Diese Website verwendet Cookies um Ihnen ein besseres Internet-Erlebnis zu ermöglichen. Lesen Sie wie wir Cookies verwenden und Sie können sie kontrollieren, indem Sie auf Cookie-Einstellungen klicken. Wenn Sie die Website weiter nutzen, akzeptieren Sie unsere Verwendung von Cookies.
Akzeptieren Ablehnen