Das kopfloses Krabbeln ist das automatisierte Surfen im Internet und in einzelnen Domains mit einem Headless-Browser, bei dem es sich um einen Webbrowser handelt Keine grafische Benutzeroberfläche. Das kopflose Crawlen umfasst viele Ansätze und Methoden zum Extrahieren, Speichern, Überprüfen und Verarbeiten von Daten. Websites, Web-Apps und einzelne Webfunktionen können ebenfalls automatisch getestet und verifiziert werden. Das kopflose Crawlen umfasst thematische Überlagerungen mit Themen wie Informationsabruf, Data Mining, Scraping und Testautomatisierung.
Allgemeine Information
Bis vor kurzem empfahl Google die Verwendung von Headless-Browsern zum Crawlen dynamischer Websites. Die Betreiber mussten einen HTML-Screenshot ihres Webportals bereitstellen, damit Google dessen Inhalt lesen und untersuchen konnte. Das sogenannte AJAX-Crawling-Schema ist veraltet und wird nicht mehr verwendet. Stattdessen wird der Inhalt des Webs unabhängig von der verwendeten Technologie bereitgestellt, einschließlich des Geräts, des Browsers und der Internetverbindung, die als progressive Verbesserung bezeichnet wird. [1]. Das kopflose Crawlen ist im Wesentlichen Teil jeder Suchmaschine. Webinhalte werden navigiert, aber nicht gerendert oder dem Benutzer grafisch angezeigt.
Was mit den erkannten Daten passiert, ist eine Frage des Fokus. Die Google-Suchmaschine soll jedoch seit 2004 kopfloses Crawlen verwenden, und JavaScript ist seit Oktober 2015 kein Hindernis mehr. Suchmaschinen können kopfloses Crawlen zum Durchsuchen von Websites verwenden. In dem Maße, in dem der Crawler einen Aufruf eines Webportals mit einer nicht grafischen Oberfläche simuliert, können Suchmaschinen aus diesen Informationen Schlussfolgerungen ziehen und Websites anhand ihres kopflosen Browserverhaltens bewerten. [2].
Wie funktioniert es
In der Mitte des kopflosen Krabbelns befindet sich das kopfloser Browser, ein Programm, das Webinhalte liest, an andere Programme weitergibt oder basierend auf Text in Form von Dateien, Listen und Arrays anzeigt. Diese Browsertypen erhalten durch ihre Implementierung in einer Serverinfrastruktur Zugriff auf Websites. Optional kann ein virtueller Server oder ein Proxyserver verwendet werden. Von dort aus versucht der kopflose Browser, auf eine URL zuzugreifen. Dies ist der Ausgangspunkt der Crawling-Prozedur, die mit einer Befehlszeile oder einem Skriptbefehl gestartet wird [3]. Abhängig von der Konfiguration kann der Browser weitere URLs finden. Die dort gespeicherten Inhalte können verarbeitet werden, auch die Frage nach den Linkpositionen im Webportal ist machbar. Zu diesem Zweck ist jedoch häufig eine API-Schnittstelle erforderlich, die die Daten an das Verarbeitungsprogramm überträgt.
Das Besondere am kopflosen Crawlen ist die Kommunikation von Maschine zu Maschine (M2M). Sowohl die aufgerufenen URLs als auch der gefundene Webinhalt werden dem Endbenutzer nicht angezeigt, wie dies bei herkömmlichen Browsern der Fall ist. Stattdessen gibt der Headless-Browser die abgerufenen Daten in Formaten zurück, die zuvor definiert werden müssen, aber später automatisch verarbeitet werden können. Bei umfangreicher Implementierung kann ein kopfloser Browser dank einer API, die über HTTP- oder TCP-Anforderungen mit anderen Programmen oder Infrastrukturen kommunizieren kann, verschiedene Programmiersprachen, Skripte und Prozesse verarbeiten. Dieses Prinzip wird häufig zum Extrahieren verwendet große DatenmengenDies wirft letztendlich die Frage auf, inwieweit es legal ist, solche Daten zusammenzustellen und zu verarbeiten. Grundsätzlich können Urheberrechte, Datenschutzvereinbarungen und die Privatsphäre der Benutzer verletzt werden [4]. Gleiches gilt für Preisvergleichsportale, Suchmaschinen und Metasuchanbieter.
Praktische Relevanz
Das kopflose Crawlen wird nicht nur in Suchmaschinen, sondern auch in anderen Anwendungsfällen angewendet. Zwei Beispiele:
- Testautomatisierung: Das Testen von Websites, Website-Elementen und -Funktionen ist eine häufige Verwendung des kopflosen Crawls. Daher können fehlerhafte Links, Weiterleitungen, interaktive Elemente, einzelne Komponenten (Einheiten) und Module auf ihre Funktion überprüft werden. Sie können die Leistungsmerkmale und die Generierung von Website-Inhalten aus Datenbanken testen. Mit einer umfassenden Implementierung können Websites relativ vollständig getestet und grundsätzlich automatisiert werden. Auf diese Weise gehen die Testszenarien, die kopfloses Crawlen verwenden, weit über den bloßen Test eines Systems in Bezug auf Abstürze, Systemfehler und unerwünschtes Verhalten hinaus. Headless-Crawling-Tests ähneln Akzeptanztests, da der Headless-Browser das Verhalten von Websites aus der Sicht des Benutzers und beispielsweise anklickbarer Links simulieren kann. [5]. Für dieses Szenario sind jedoch umfassende Programmier- und Skriptkenntnisse erforderlich. Da das Testen auf Kundenwunsch oder mit einem ausgewählten Testobjekt durchgeführt wird, dessen Rechte dem Websitebesitzer gehören, ist die Testautomatisierung mit kopflosem Crawlen im Allgemeinen nicht zu beanstanden. Bekannte Headless-Browser mit Framework (API, Programmiersprachenunterstützung oder DOM-Handling) sind Selenium, PhatnomJS oder HtmlUnit. Headless-Browser verwenden im Allgemeinen eine Layout-Engine, die auch in herkömmliche Browser und Suchmaschinen-Crawler integriert ist. Beispiele für Layout-Engines sind Webkit, Gecko oder Trident.
- Web Scraping: Scraping ist eine Crawling-Technik, bei der Daten extrahiert und zur späteren Verwendung hinzugefügt werden. Manchmal werden große Datenmengen aus einer oder mehreren Quellen gesammelt, gelesen und verarbeitet. Schaben kann schädlich sein und wird in vielen Anwendungsszenarien als Black-Hat- oder Cracker-Technologie eingestuft. Denial-of-Service-Angriffe (DoS) und verteilte Denial-of-Service-Angriffe (DDoS) verwenden das Prinzip des kopflosen Crawls, um auf ein Webportal oder eine Webanwendung zuzugreifen [6]. In der Regel werden einige illegale Methoden verwendet, um beispielsweise die IP-Adresse (IP-Spoofing) zu verbergen, um vom tatsächlichen Angriff auf das Netzwerk abzulenken oder die Kommunikation zwischen dem Server und verschiedenen Clients mithilfe von TCP (Hijacking) zu infiltrieren.
Relevanz für die Suchmaschinenoptimierung
Headless Crawlen ist ein wichtiger Aspekt der Suchmaschinenoptimierung. Wie bereits erwähnt, wird das Prinzip (höchstwahrscheinlich) von verschiedenen Suchmaschinen zum Crawlen von Websites und Webanwendungen verwendet, selbst wenn das AJAX-Crawling-Schema nicht mehr aktuell ist. Google empfiehlt an verschiedenen Stellen in den Qualitätsrichtlinien, einen textbasierten Browser wie Lynx zu verwenden, um Websites so zu rendern, wie Google sie sieht. Es kann davon ausgegangen werden, dass die Funktionen von Google und anderen Suchmaschinen viel mehr können als textbasierte Browser und das, was offiziell kommuniziert wird. Folglich wäre es sinnvoll, das kopflose Krabbeln im Detail zu lernen. Denn mit diesem Prinzip können Websites gründlich getestet werden und mit dieser Perspektive können SEOs es wagen, hinter die Kulissen des Suchmaschinenbetreibers zu schauen, ohne ihre Augen auf Benutzer zu richten.
Web-Links