Sprachen, in denen Webcrawler für die Marktanalyse erstellt werden können

Die Crawler können in verschiedenen Sprachen bzw. Frameworks und mit verschiedenen Mitteln umgesetzt werden. Für gezielte Datenabfragen von nur wenigen Produkten, kann es sich sogar lohnen, die Abfrage automatisiert über den eigenen Rechner durchzuführen. Dafür stehen auch Browserplugins zur Verfügung. Größere Abfragen sind eher von einem Server aus durchzuführen. 

Da die Auswahl der richtigen Programmiersprache bzw. des richtigen Frameworks sehr groß ist, sollen hier die gängigsten vorgestellt werden. Neben reinen Programmiersprachen stehen für die automatisierte Wettbewerbsanalyse auch Browsererweiterungen zur Verfügung.

Für jede Programmiersprache/ Crawler sind folgende Punkte bei der Umsetzung zu beachten.

  • Speicherung großer Datenmengen
  • Kann JavaScript ausgeführt werden?
  • Wie sieht die Cookiebehandlung aus?
  • Kann man den User-Agent-String manipulieren?
  • Kann man die IP-Adresse manipulieren?
  • Wird die Sprache/ das Skript lokal oder serverseitig ausgeführt?

 

VBA + Internet Explorer

VBA ist eine Skriptsprache, die zum Beispiel bei Officeanwendungen zum Programmieren von Makros verwendet wird. Mit ihr kann man auch auf den Internet Explorer zugreifen und diesen Steuern. Die angesurfte Seite kann dann mit Hilfe von regulären Ausdrücken auf relevante Informationen hin untersucht werden.

Diese Variante läuft lokal auf dem Rechner. Sie muss daher ständig selbst gestartet werden und ist, wenn der Nutzer den Rechner nicht eingeschaltet hat, nicht in der Lage Daten von Wettbewerbern abzugreifen. Nützlich ist das Vorgehen dann, wenn man Java Script auf der Seite ausführen will und wenn man ad hoc Informationen benötigt.

Java

Java ist eine Programmiersprache, mit der man Programme schreiben kann, die auf einem Server ausgeführt werden. Diese Sprache ist im Vergleich zu Skriptsprachen recht umfangreich und etwas schwieriger zu erlernen. Mit ihr lassen sich allerdings sehr ausgefeilte Crawler bauen. Verschiedene Bibliotheken ermöglichen es mit großen Datenmengen effizient umzugehen. Zudem stehen verschiedene Anbindungen an unterschiedliche Datenbanken (SQL oder NoSQL) zur Verfügung.

Eine bekannte Bibliothek für Java ist HtmlUnit. Diese ist auch in der Lage, Javascript auszuführen.

Java Script + NodeJs

Java Script wird eigentlich in Browsern ausgeführt. Mit NodeJs wird eine Serverumgebung bereitgestellt, die JavaScript interpretieren kann. Somit kann man die JavaScript-Befehle auch außerhalb des Browsers verwenden.

Ein Einführungsvideo, wie man mit Hilfe von NodeJs und JavaScript einen Webcrawler bauen kann, wird hier gezeigt. [http://www.youtube.com/watch?v=LJHpm0J688Y]

Ruby

Ruby ist eine Skriptsprache, die auf einem Server ausgeführt wird. Unter Ruby wird eine Bibliothek (gem) namens Mechanize angeboten. Mit dieser kann man komfortabel auf Webseiten Navigieren, Formularfelder ausfüllen und die Cookiebehandlung handhaben.

Unter Ruby stehen verschiedene Parser (oder Wrapper) zur Verfügung mit denen die Informationen aus dem HTML-Dokument ausgelesen werden können. Unter Ruby ist das Gem Nokogiri gut dafür geeignet.

PHP

PHP ist ebenfalls eine Skriptsprache. Sie wird häufig verwendet, um Internetanwendungen dynamisch zu machen. Mit ihr können gezielte Produktinformationen, während der Besucher auf der Webseite ist, von Konkurrenzseiten erhoben und sofort dem Webseitenbesucher angezeigt werden.

Browsererweiterungen

Zur Sammlung von Unternehmensinformationen aus Linklisten oder Verzeichnissen eignen sich auch Erweiterungen für Browser. Mit diesen kann man die Bereiche einer Webseite auswählen, deren Inhalt gespeichert werden soll. Dafür wird häufig XPath verwendet. Dieses ist ähnlich zu HTML

Für die Datenbereinigung sind häufig reguläre Ausdrücke und grundlegende HTML-Kenntnisse sinnvoll.

Webtest-Kits

Ursprünglich wurden solche Frameworks oder Kits zum automatisierten Testen von Webseiten entwickelt. Fragen, wie „Was passiert, wenn ich auf den Button klicke?“, standen im Vordergrund. Allerdings stellen solche Frameworks heute mächtige und leistungsfähige Pakete dar, mit denen auch ganze Webseiten automatisiert ausgelesen werden können. Viele dieser Kits können sogar mit Java Script umgehen und damit einen echten Besucher simulieren.

Folgende Softwaren sind verbreitet:

Selenium: Browsererweiterung und Bibliothek für zahlreiche Programmiersprachen

Phantom JS: Headless Web Kit, also ohne sichtbares Browserfenster.

2 Gedanken zu „Sprachen, in denen Webcrawler für die Marktanalyse erstellt werden können

  1. Pingback: Einsatz von Crawlern und Robots in der Wettbewerbsanalyse - Pricing

  2. Pingback: Preismonitoring - Pricing

Schreibe einen Kommentar