Screenshots per Command-Line (CLI) erzeugen und ggf. automatisieren

Wenn man ganzseitige – also nicht nur den sichtbaren Bereich einer Webseite im Browser – Bildschirmfotos von mehreren Webseiten mit einem Ausführungsbefehl erzeugen möchte bleiben entweder Webdienste oder auch Kommandozeilen-/Command-Line-Tools wie zum Beispiel pageres, welches ich hier kurz näher vorstellen möchte.

Erstmal müsst Ihr das Tool installieren – ich mache das auf einem Mac OS X Rechner und konzentriere mich deshalb nur darauf – und zwar wie folgt:

  1. Installiert zuerst das aktuellste Node.js Paket
  2. Installiert puppeter wie folgt per Command Line / Terminal: npm i puppeteer
  3. Nun endlich das besagte pageres installieren:
    npm install pageres
    und
    npm install –global pageres-cli

Achtet auf die Fehlermeldung(en) während den npm installs und folgt den Anweisungen, so musste/sollteich noch vor 3. einen Extra-Punkte ausführen:
sudo npm install -g npm
(sudo war wichtig für die Root-Rechte, anders war es nicht zu installieren).

Und dann… let the magic begin:

cd /in/den/wunschordner/wo/die/Screenshots/erstellt/werden/sollen :-)
pageres https://www.nytimes.com https://lefigaro.fr https://theguardian.com https://www.sueddeutsche.de https://faz.net 1366x768 --delay=5 --format=jpg --filename='<%= date %>_<%= time %>_<%= url %>'

Dieses Kommando erzeugt Screenshots von den fünf oben gelisteten URL’s/Websites im JPG-Format mit Datum und Uhrzeit vor der URL als Namen. Schrägzeichen / Slashes ind er URL werden leider mit einem Ausrufezeichen abgespeichert, aber das nur zur Info, ansonsten funktioniert das Tool wirklich sehr gut, hier Beispiele der möglichen CLI-Kommandos / Befehle.

Um einzelne Websites als Bildschirm-Photo abzuspeichern lohnt sich ggf. auch der Blick auf capture-website-cli, weitere Ansätze (und andere Tools) liefert auch booleanworld.com in einem Post, aber für mich war der Multi-Site-Screens-Ansatz und damit pageres der optimalste Ansatz.

Jetzt kann man das ganze ggf. noch Skripten und zu fixen Zeiten automatisiert ablaufen lassen, just in case :)