2015-09-16 44 views
7

Ich baue einen Scraper, um JS-Einseiten-Anwendungen leicht crawlbar zu machen.Running Elektron (Atom-Shell) kopflos auf Linux-Server durch Nightmare.js

Nach einigen unglaublichen Frustration mit PhantomJS (Speicherlecks, veraltete webkit, untot Prozesse, unter vielen anderen Problemen) entschied ich mich zu NightmareJS zu wechseln, die die gleichen Dinge tun kann, sondern nutzt Electron unter der Haube. Elektron hat viele Vorteile (verwendet neuesten Chrom, ist viel schneller), aber es braucht einen X-Server zu laufen.

Da ich es unter Ubuntu-Server funktionieren muss, folgte ich this gist. Jetzt habe ich eine große EC2-Instanz mit allem bereit, einem kopflos Elektron

xvfb-run electron 

Der Punkt zu laufen ist, dass ich dies durch nightmareJS ausgeführt werden muß (was ich in einem node.js Server-Skript verwenden). Ich frage mich, wie ich Parameter an Alptraum übergeben konnte, um Elektronen durch svfb

+0

Sie sollten wahrscheinlich diese fragen in der [Albtraum Issue tracker auf GitHub] (https://github.com/segmentio/nightmare/issues). Der Wechsel zum Elektron ist ziemlich neu und ich weiß nicht, ob die Entwickler Stack Overflow benutzen. –

+1

Der Link zum Kern ist unterbrochen. Ich brauche das ... –

Antwort

3

zu starten. Ich weiß nicht, ob es einen besseren Weg gibt, aber zumindest für meine Arbeiten den Hauptprozess mit xvfb-run-Befehl ausführen :

$ xvfb-run node --harmony simple-service.js 
Worker 12153 is online 
Worker 12155 is online 
Worker 12154 is online 
Worker 12156 is online 
+1

Werden mehrere Instanzen von Nightmare funktionieren, wenn es so läuft? – rclai