Ein Crawler ist eine Anwendungssoftware, die einen definierten, aber nicht zwangsläufig begrenzten Datenbestand systematisch hinsichtlich festgelegter Ziele und unter Zuhilfenahme konfigurierter Handlungsanweisungen ad infinitum verarbeitet.
Als (World Wide) Web Crawler (auch Spider, Search Bot, Internet Bot oder Robot) wird ein Tool bezeichnet, dessen anvisierter Datenbestand sich aus Inhalten (auch: Ressourcen) des WWW ergibt. Die Absichten hinter Web Crawling sind dabei divers: Während globale Suchmaschinen die vollständige Indizierung bestehender Web-Ressourcen anstreben (engl. general crawling oder auch nicht-fokussierte Crawler), beschränken sogenannte fokussierte Crawler die Ergebnisse hinsichtlich vorgegebener Kriterien (engl. topic specific Web resource discovery). Dies kann beispielsweise eine bestimmte Sprache, eine Top Level Domain, ein Themengebiet oder die Relevanz hinsichtlich eines Informationsbedürfnisses sein.
Der erste bekannte Web Crawler, der World Wide Web Wanderer (1993), diente der statistischen Erfassung des Webs hinsichtlich seines strukturellen Wachstums (engl. webometrics). Demgegenüber stehen Web Crawler, die sich mehrheitlich mit der Akquise von Informationen beschäftigen. Das Vorgehen hat sich dabei in den letzten 20 Jahren stetig weiterentwickelt. Grundsätzlich basiert es aber auf demselben Prinzip, webbasierte Inhalte (HTML), ausgehend von mindestens einem Startpunkt (engl. Seed), herunterzuladen, iterativ weiterzuverarbeiten und strukturiert abzuspeichern. Dabei sind Crawler in der Lage, autark weitere Web Pages zu identifizieren, diese in ihre Warteschlange (Queue) aufzunehmen sowie deren Hyperlinks zu folgen. Eine Sonderform der Web Crawler sind Harvester. Diese durchsuchen das WWW nach E-Mail-Adressen und speichern sie ab. Auf diese Weisen werden
Adressbestände aufgebaut, die später vermarktet werden, um Werbe-E-Mails zu versenden.
Beim nicht-fokussierten Crawlen gibt es traditionellerweise zwei Strategien: Das (1) Depth-first crawling und das Breadth-first crawling. Beides sind Graph-basierte Verfahren und basieren auf Seeds, die zuvor manuell ausgewählt wurden. Während (1) immer zuerst den ersten Hyperlink einer Ressource bis zum tiefsten Knoten (keine weiteren Links) verfolgt, werden bei (2) zunächst alle Hyperlinks aufgerufen, die vom Seed erreichbar sind.
Thematisch fokussierte Crawler weichen von diesen ineffizienten Strategien ab, da die Herausforderung in der Identifikation von relevanten Informationen unter minimalem Ressourceneinsatz und hinsichtlich optimaler Performance liegt. Dabei spielen die Relevanzurteile eine wichtige Rolle, welche Indizien (Eigenschaften einer Webressource) weitere Berücksichtigung finden (z.B. Länderzugehörigkeit, Sprache oder Top Level Domain). Um diesen Prozess zu optimieren, bewerten Web Crawler die Relevanzwahrscheinlichkeit einer Ressource noch vor deren Download. Dazu bedienen sich die Entwickler Hilfsmitteln wie Webkatalogen und Hyperlinkstrukturen sowie Methoden zur Themenexploration (engl. Topic detection) und Textklassifikation.
Aus der technischen Perspektive stellt das wiederholte Aufrufen von Ressourcen Anfragen dar, die seitens eines Servers zu beantworten sind. Es wird von flooding gesprochen, wenn die Anzahl dieser Anfragen ein verträgliches Maß überschreiten und die Performance des Servers negativ beeinflussen. Parallelisierung (Distributed web crawling) verschärfen das Problem.
Literatur
Aggarwal, K. (2019): An Efficient Focused Web Crawling Approach. In: Hoda, M., Chauhan, N., Quadri, S., Srivastava, P. (Hrsg.) Software Engineering. Advances in Intelligent Systems and Computing, Band 731. Springer, Singapur.
Hernández, I.; Rivero, C.R.; Ruiz, D.; Corchuelo, R. (2012): An Architecture for Efficient Web Crawling. In: Bajec, M., Eder, J. (Hrsg.) Advanced Information Systems Engineering Workshops. CAiSE 2012. LNCS, Band 112. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31069-0_20
Lewandowski, D. (2005): Web Information Retrieval. Technologien zur Informationssuche im Internet. Frankfurt am Main: DGI (Reihe Informationswissenschaft der DGI, Band 7).
Olston, C.; Najork, M. (2010): Web Crawling. In: Foundations and Trends in Information Retrieval, Vol. 4 (3), 2010, S. 175–246.
Shah, S.; Patel, S.; Nair, S. (2014): Focused and Deep Web Crawling-A Review. In: International Journal of Computer Science and Information Technologies, Band 5 (6), 2014, S. 7488-7492.
Shrivastava, V.; Sahai, P. (2019): Comparative Analysis of Web Crawling Algorithms for Improvement in Web Crawler. In: Proceedings of International Conference on Sustainable Computing in Science, Technology and Management (SUSCOM), S. 1531-1539.
Xhumari, E; Xhumari, I.: A review of web crawling approaches. RTA-CSIT 2021: S.158-163.
Dieser Eintrag ist unter Mitarbeit von Frederik S. Bäumer verfasst worden.