1. Home
  2. Search

Posted on 11th Nov, 2017 in Stuff

Python ist eine immer mehr populär werdende Sprache die sehr schnell zum erlernen ist, gerade wenn man schon Erfahrung mit anderen Programmiersprachen hat. Aktuell arbeite ich an einem automatisierten Google Crawler welcher mit Suchergebnissen von Google eine bestimmte Aktion durchführt. z.B. herausfinden mit welchem CMS eine Seite programmiert/erstellt worden ist. Diese Informationen findet man meistens im Source-Code einer jeweiligen Seite. Nachdem die Suchergebnisse geladen worden sind, werden diese automatisiert an ein PHP Skript übermittelt, welches anschließend jeden Link öffnet und versucht an die Informationen zu kommen. Das PHP Skript ist jedoch ein anderer Teil, welcher jetzt nebensächlich ist. ;)

Was ist ein Crawler überhaupt?

Als Crawler wird ein Computerprogramm bezeichnet, das Dokumente im World Wide Web mittels eines automatisierten Verfahrens durchsucht

Quelle.

Für mein Python Skript verwende ich Selenium mit dem chromedriver von Google welcher eine headerless Google Chrome Version zur verfügung stellt. Das Bedeutet man kann den Useragent und weitere Parameter im Code setzen und mit genau diesen Parametern wird anschließend der Browser geöffnet. Selenium erlaubt einem auf einer Webseite verschiedene Interaktionen durchzuführen. So kann man z.B. beim öffnen der Seite google.at in die Suchbox automatisiert einen Wert eintragen lassen und anschließend eine Suche durchführen.

In meinem Beispiel wird die komplette Such-URL bereits an Google Chrome übergeben und geladen. Erst diese Ergebnisseite wird dann an das PHP Skript übergeben, welches mit den Daten weiterarbeitet. Wenn die Verarbeitung abgeschlossen ist, wird wieder zur Ergebnisseite gewechselt und am Ende der Seite auf Weiter geklickt, damit man zur nächsten Seite kommt. Auch hier geschieht anschließend wieder exakt die gleiche Prozedur.

Das Projekt ist allerdings noch in der Entwicklung, aber sobald der Code komplett vollständig und optimiert ist, gibt es einen Beitrag auf Hack4Life mit Tutorial! :)