Das ist ein einfacher Crawler für www.verleihnix.de.
Er ist mit Node.js geschrieben und lädt alle Produkte als JSON-Datei herunter.
Der Crawler braucht eine halbwegs aktuelle Node.js-Installation. Anschließend die Dependencies installieren:
yarn install
# oder
npm install
Der Crawler kann dann mit folgendem Befehl gestartet werden:
node ./index.js
Der Crawler arbeitet im Prinzip nach folgendem Schema:
- Start-URL abrufen: Wir fragen die erste URL der Zielseite ab und werten sie auf Informationen aus.
- Antwort verarbeiten: Wir speichern die Daten in einem Format, das wir anschließend weiterverarbeiten können.
- Nächste URL suchen: Wir suchen im HTML der Antwort nach der nächsten URL und legen sie in unsere Warteschlange.
Beim Crawling kommt es immer sehr auf den Aufbau der Zielseite an; wir können aber einige Schritte einheitlich ausführen. Dieses Beispielprojekt soll das darstellen und kann für andere Projekte abgewandelt werden.
Der Crawler basiert auf mehreren Komponenten, die sich gegenseitig ergänzen:
- Der VerleihnixCrawler steuert den Programmablauf und verbindet alle Komponenten miteinander.
- Die Library crawler führt die HTTP-Anfragen an den Server aus und gibt dabei vor, ein ganz normaler Webbrowser zu sein.
- Der Parser wertet die Server-Antworten aus und erstellt Datenobjekte.
- Der Writer schreibt die Datenobjekte in die Ausgabedatei.
Alle Komponenten verwenden Promises, um asynchron Daten verarbeiten zu können.