
Un semplice script per fare screenshot di una lista di siti web.
Un semplice script per fare screenshot di una lista di siti web, basato sullo script PhantomJS url-to-image.
--ignore-certificate-errors non funziona e non funzionerà mai più: la soluzione è utilizzare un webdriver appropriato, ma ad oggi webscreenshot non punta a supportare questo metodo piuttosto complesso che richiede strumenti di terze parti.ImageMagick)Inserisci i tuoi target in un file di testo e passalo con l'opzione -i, o come argomento posizionale se hai un singolo URL.
Gli screenshot saranno disponibili, per impostazione predefinita, nella directory corrente ./screenshots/.
I formati di input accettati sono i seguenti:
http(s)://dominio_o_ip:porta(/risorsa)
dominio_o_ip:porta(/risorsa)
dominio_o_ip(/risorsa)
webscreenshot.py versione 2.96
usage: webscreenshot [-h] [-i INPUT_FILE] [-o OUTPUT_DIRECTORY] [-w WORKERS] [-v] [--no-error-file] [-z SINGLE_OUTPUT_FILE] [-p PORT]
[-s] [-m] [-r {phantomjs,chrome,chromium,edge,firefox}] [--renderer-binary RENDERER_BINARY] [--no-xserver]
[--window-size WINDOW_SIZE] [-f {pdf,png,jpg,jpeg,bmp,ppm}] [-q [0-100]] [--ajax-max-timeouts AJAX_MAX_TIMEOUTS]
[--crop CROP] [--custom-js CUSTOM_JS] [-l] [--label-size LABEL_SIZE] [--label-bg-color LABEL_BG_COLOR]
[--imagemagick-binary IMAGEMAGICK_BINARY] [-c COOKIE] [-a HEADER] [-u HTTP_USERNAME] [-b HTTP_PASSWORD]
[-P PROXY] [-A PROXY_AUTH] [-T PROXY_TYPE] [-t TIMEOUT]
[URL]
options:
-h, --help mostra questo messaggio di aiuto ed esce
Parametri principali:
URL Singolo URL target dato come argomento posizionale
-i, --input-file INPUT_FILE
<INPUT_FILE> file di testo contenente la lista dei target. Es: list.txt
-o, --output-directory OUTPUT_DIRECTORY
<OUTPUT_DIRECTORY> (opzionale): directory di output degli screenshot (default './screenshots/')
-w, --workers WORKERS
<WORKERS> (opzionale): numero di worker in esecuzione parallela (default 4)
-v, --verbosity <VERBOSITY> (opzionale): livello di verbosità, ripetere per aumentare il livello { -v INFO, -vv DEBUG } (default
verbosity ERROR)
--no-error-file <NO_ERROR_FILE> (opzionale): non scrivere un file con la lista degli URL degli screenshot falliti (default false)
-z, --single-output-file SINGLE_OUTPUT_FILE
<SINGLE_OUTPUT_FILE> (opzionale): nome di un file che sarà il singolo output di tutti gli input. Es. test.png
Parametri di elaborazione dell'input:
-p, --port PORT <PORT> (opzionale): usa la porta specificata per ogni target nella lista di input. Es: -p 80
-s, --ssl <SSL> (opzionale): forza SSL/TLS per ogni connessione
-m, --multiprotocol <MULTIPROTOCOL> (opzionale): esegue screenshot su HTTP e HTTPS per ogni target
Parametri del renderer degli screenshot:
-r, --renderer {phantomjs,chrome,chromium,edge,firefox}
<RENDERER> (opzionale): renderer da usare tra 'phantomjs' (legacy ma migliori risultati), 'chrome', 'chromium',
'edge', 'firefox' (versione > 57) (default 'phantomjs')
--renderer-binary RENDERER_BINARY
<RENDERER_BINARY> (opzionale): percorso dell'eseguibile del renderer se non può essere trovato in $PATH
--no-xserver <NO_X_SERVER> (opzionale): se stai eseguendo senza un server X, userà xvfb-run per eseguire il renderer
(per impostazione predefinita, prova a rilevare se la variabile d'ambiente DISPLAY esiste
Parametri dell'immagine dello screenshot:
--window-size WINDOW_SIZE
<WINDOW_SIZE> (opzionale): larghezza e altezza della cattura dello schermo (default '1200,800')
-f, --format {pdf,png,jpg,jpeg,bmp,ppm}
<FORMAT> (opzionale, solo phantomjs): specifica un formato file immagine di output, "pdf", "png", "jpg", "jpeg", "bmp"
o "ppm" (default 'png')
-q, --quality [0-100]
<QUALITY> (opzionale, solo phantomjs): specifica la qualità dell'immagine di output, un intero tra 0 e 100 (default
75)
--ajax-max-timeouts AJAX_MAX_TIMEOUTS
<AJAX_MAX_TIMEOUTS> (opzionale, solo phantomjs): per richiesta AJAX, e timeout massimo URL in millisecondi
(default '1400,1800')
--crop CROP <CROP> (opzionale, solo phantomjs): rettangolo <t,l,w,h> per ritagliare la cattura dello schermo (default a WINDOW_SIZE:
'0,0,w,h'), solo numeri, w(idt) e h(eight). Es. "10,20,w,h"
--custom-js CUSTOM_JS
<CUSTOM_JS> (opzionale, solo phantomjs): percorso di un file contenente codice JavaScript da eseguire prima
di scattare lo screenshot. Es: js.txt
Parametri dell'etichetta dello screenshot:
-l, --label <LABEL> (opzionale): per ogni screenshot, crearne un altro che mostra all'interno l'URL target (richiede
imagemagick)
--label-size LABEL_SIZE
<LABEL_SIZE> (opzionale): dimensione del carattere per l'etichetta (default 60)
--label-bg-color LABEL_BG_COLOR
<LABEL_BACKGROUND_COLOR> (opzionale): colore di sfondo dell'etichetta per imagemagick (default NavajoWhite)
--imagemagick-binary IMAGEMAGICK_BINARY
<LABEL_BINARY> (opzionale): percorso del binario imagemagick (magick o convert) se non può essere trovato in $PATH