
Un script sencillo para capturar pantallas de una lista de sitios web.
Un script sencillo para capturar pantallas de una lista de sitios web, basado en el script url-to-image de PhantomJS.
--ignore-certificate-errors no funciona y nunca volverá a funcionar: la solución es usar un webdriver adecuado, pero hasta la fecha webscreenshot no tiene como objetivo soportar este método bastante complejo que requiere herramientas de terceros.ImageMagick)Coloca tus objetivos en un archivo de texto y pásalo con la opción -i, o como argumento posicional si solo tienes una URL.
Las capturas de pantalla estarán disponibles, por defecto, en tu directorio actual ./screenshots/.
Los formatos de entrada aceptados son los siguientes:
http(s)://dominio_o_ip:puerto(/recurso)
dominio_o_ip:puerto(/recurso)
dominio_o_ip(/recurso)
webscreenshot.py version 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 muestra este mensaje de ayuda y sale
Parámetros principales:
URL URL objetivo única dada como argumento posicional
-i, --input-file INPUT_FILE
<INPUT_FILE> archivo de texto que contiene la lista de objetivos. Ej: list.txt
-o, --output-directory OUTPUT_DIRECTORY
<OUTPUT_DIRECTORY> (opcional): directorio de salida de las capturas (por defecto './screenshots/')
-w, --workers WORKERS
<WORKERS> (opcional): número de trabajadores de ejecución en paralelo (por defecto 4)
-v, --verbosity <VERBOSITY> (opcional): nivel de verbosidad, repítelo para aumentar el nivel { -v INFO, -vv DEBUG } (por defecto
verbosidad ERROR)
--no-error-file <NO_ERROR_FILE> (opcional): no escribir un archivo con la lista de URL de capturas fallidas (por defecto falso)
-z, --single-output-file SINGLE_OUTPUT_FILE
<SINGLE_OUTPUT_FILE> (opcional): nombre de un archivo que será la salida única de todas las entradas. Ej. test.png
Parámetros de procesamiento de entrada:
-p, --port PORT <PORT> (opcional): usar el puerto especificado para cada objetivo en la lista de entrada. Ej: -p 80
-s, --ssl <SSL> (opcional): forzar SSL/TLS para cada conexión
-m, --multiprotocol <MULTIPROTOCOL> (opcional): realizar capturas sobre HTTP y HTTPS para cada objetivo
Parámetros del renderizador de capturas:
-r, --renderer {phantomjs,chrome,chromium,edge,firefox}
<RENDERER> (opcional): renderizador a usar entre 'phantomjs' (heredado pero mejores resultados), 'chrome', 'chromium',
'edge', 'firefox' (versión > 57) (por defecto 'phantomjs')
--renderer-binary RENDERER_BINARY
<RENDERER_BINARY> (opcional): ruta al ejecutable del renderizador si no se encuentra en $PATH
--no-xserver <NO_X_SERVER> (opcional): si estás ejecutando sin un servidor X, usará xvfb-run para ejecutar el renderizador
(por defecto, intenta detectar si existe la variable de entorno DISPLAY)
Parámetros de imagen de captura:
--window-size WINDOW_SIZE
<WINDOW_SIZE> (opcional): ancho y alto de la captura de pantalla (por defecto '1200,800')
-f, --format {pdf,png,jpg,jpeg,bmp,ppm}
<FORMAT> (opcional, solo phantomjs): especificar un formato de archivo de imagen de salida, "pdf", "png", "jpg", "jpeg", "bmp"
o "ppm" (por defecto 'png')
-q, --quality [0-100]
<QUALITY> (opcional, solo phantomjs): especificar la calidad de la imagen de salida, un entero entre 0 y 100 (por defecto
75)
--ajax-max-timeouts AJAX_MAX_TIMEOUTS
<AJAX_MAX_TIMEOUTS> (opcional, solo phantomjs): por cada solicitud AJAX, y tiempo máximo de espera de URL en milisegundos
(por defecto '1400,1800')
--crop CROP <CROP> (opcional, solo phantomjs): rectángulo <t,l,w,h> para recortar la captura de pantalla (por defecto WINDOW_SIZE:
'0,0,w,h'), solo números, a(ncho) y a(lto). Ej. "10,20,w,h"
--custom-js CUSTOM_JS
<CUSTOM_JS> (opcional, solo phantomjs): ruta de un archivo que contiene código JavaScript a ejecutar antes
de tomar la captura. Ej: js.txt
Parámetros de etiqueta de captura:
-l, --label <LABEL> (opcional): para cada captura, crear otra que muestre dentro la URL objetivo (requiere
imagemagick)
--label-size LABEL_SIZE
<LABEL_SIZE> (opcional): tamaño de fuente para la etiqueta (por defecto 60)
--label-bg-color LABEL_BG_COLOR
<LABEL_BACKGROUND_COLOR> (opcional): color de fondo de la etiqueta de imagemagick (por defecto NavajoWhite)
--imagemagick-binary IMAGEMAGICK_BINARY
<LABEL_BINARY> (opcional): ruta al binario de imagemagick (magick o convert) si no se encuentra en $PATH