Kategorien
SEO

Headless Crawling & Browser 2021: Welchen Nutzen hat es?

Headless Crawling & Headless Browser: In diesem Artikel werden wir sehen, wie einfach es ist, Web-Scraping (Web-Automatisierung) mit der etwas untraditionellen Methode der Verwendung eines Headless-Browsers durchzuführen.

Was ist ein Headless-Browser bzw. Headless Crawling und warum wird es benötigt?

In den letzten Jahren hat sich das Web aus einfachen Websites entwickelt, die mit bloßem HTML und CSS erstellt wurden.

Jetzt gibt es viel mehr interaktive Webanwendungen mit schönen UIs, die oft mit Frameworks wie Angular oder React erstellt werden.

Mit anderen Worten: Heutzutage beherrscht JavaScript das Web, einschließlich fast aller Anwendungen, mit denen Sie auf Websites interagieren.

Für unsere Zwecke ist JavaScript eine clientseitige Sprache.

Der Server gibt JavaScript-Dateien oder Skripte zurück, die in eine HTML-Antwort injiziert werden, und der Browser verarbeitet sie.

Dies ist ein Problem, wenn wir eine Art Web-Scraping oder Web-Automatisierung durchführen, denn in den meisten Fällen werden die Inhalte, die wir sehen oder auskratzen möchten, von JavaScript-Code gerendert und sind über die vom Server gelieferte rohe HTML-Antwort nicht zugänglich.

Wie wir bereits erwähnt haben, wissen die Browser, wie sie das JavaScript verarbeiten und schöne Webseiten darstellen können.

Was wäre nun, wenn wir diese Funktionalität für unsere Scraping-Bedürfnisse nutzen könnten und eine Möglichkeit hätten, Browser programmgesteuert zu steuern?

Genau hier setzt die (kopflose) Headless-Browser-Automatisierung an!

Das bedeutet einfach, dass es keine grafische Benutzeroberfläche (GUI) gibt.

Statt mit visuellen Elementen zu interagieren, wie Sie es normalerweise tun würden – zum Beispiel mit einer Maus oder einem Touch-Gerät – automatisieren Sie Anwendungsfälle mit einer Befehlszeilenschnittstelle (CLI).

Headless Chrome und Puppeteer

Es gibt viele Web-Scraping-Tools, die für Headless Browsing verwendet werden können, wie Zombie.js oder Headless Firefox mit Selen.

Aber heute werden wir uns mit Headless Chrome via Puppeteer beschäftigen, da es sich um einen relativ neueren Player handelt, der Anfang 2018 veröffentlicht wird.

Erwähnenswert ist auch der Remote Browser von Intoli, ein weiterer neuer Spieler, aber das wird ein Thema für einen weiteren Artikel sein müssen

Was genau ist Puppeteer?

Es handelt sich um eine Node.js-Bibliothek, die eine hochrangige API zur Steuerung von Headless Chrome oder zur Interaktion mit dem DevTools-Protokoll bereitstellt.

Sie wird vom Chrome-DevTools-Team und einer großartigen Open-Source-Community gepflegt.

Weiterführende Informationen:

https://github.com/yujiosaka/headless-chrome-crawler [ Abgerufen am: 07.10.2020]

https://stackoverflow.com/questions/52882211/how-to-crawl-a-whole-website-with-headless-chrome-crawler [ Abgerufen am: 07.10.2020 ]