
Um script simples para capturar a tela de uma lista de sites.
Um script simples para capturar tela de uma lista de sites, baseado no script url-to-image do PhantomJS.
--ignore-certificate-errors não funciona e nunca mais funcionará: a solução é usar um webdriver adequado, mas até o momento o webscreenshot não pretende suportar este método bastante complexo que requer algumas ferramentas de terceiros.ImageMagick)Coloque seus alvos em um arquivo de texto e passe-o com a opção -i, ou como um argumento posicional se você tiver apenas uma única URL.
As capturas estarão disponíveis, por padrão, no seu diretório ./screenshots/ atual.
Os formatos de entrada aceitos são os seguintes:
http(s)://dominio_ou_ip:porta(/recurso)
dominio_ou_ip:porta(/recurso)
dominio_ou_ip(/recurso)
webscreenshot.py versão 2.96
uso: 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]
opções:
-h, --help mostra esta mensagem de ajuda e sai
Parâmetros principais:
URL Único URL alvo dado como argumento posicional
-i, --input-file INPUT_FILE
<INPUT_FILE> arquivo de texto contendo a lista de alvos. Ex: list.txt
-o, --output-directory OUTPUT_DIRECTORY
<OUTPUT_DIRECTORY> (opcional): diretório de saída das capturas (padrão './screenshots/')
-w, --workers WORKERS
<WORKERS> (opcional): número de workers de execução paralela (padrão 4)
-v, --verbosity <VERBOSITY> (opcional): nível de verbosidade, repita para aumentar o nível { -v INFO, -vv DEBUG } (verbosidade
padrão ERROR)
--no-error-file <NO_ERROR_FILE> (opcional): não escrever um arquivo com a lista de URLs de capturas com falha (padrão false)
-z, --single-output-file SINGLE_OUTPUT_FILE
<SINGLE_OUTPUT_FILE> (opcional): nome de um arquivo que será a única saída de todas as entradas. Ex. test.png
Parâmetros de processamento de entrada:
-p, --port PORT <PORT> (opcional): usar a porta especificada para cada alvo na lista de entrada. Ex: -p 80
-s, --ssl <SSL> (opcional): forçar SSL/TLS para toda conexão
-m, --multiprotocol <MULTIPROTOCOL> (opcional): realizar capturas sobre HTTP e HTTPS para cada alvo
Parâmetros do renderizador de captura:
-r, --renderer {phantomjs,chrome,chromium,edge,firefox}
<RENDERER> (opcional): renderizador a usar entre 'phantomjs' (legado, mas melhores resultados), 'chrome', 'chromium',
'edge', 'firefox' (versão > 57) (padrão 'phantomjs')
--renderer-binary RENDERER_BINARY
<RENDERER_BINARY> (opcional): caminho para o executável do renderizador se ele não for encontrado no $PATH
--no-xserver <NO_X_SERVER> (opcional): se você estiver executando sem um servidor X, usará xvfb-run para executar o renderizador
(por padrão, tenta detectar se a variável de ambiente DISPLAY existe)
Parâmetros da imagem de captura:
--window-size WINDOW_SIZE
<WINDOW_SIZE> (opcional): largura e altura da captura de tela (padrão '1200,800')
-f, --format {pdf,png,jpg,jpeg,bmp,ppm}
<FORMAT> (opcional, apenas phantomjs): especificar um formato de arquivo de imagem de saída, "pdf", "png", "jpg", "jpeg", "bmp"
ou "ppm" (padrão 'png')
-q, --quality [0-100]
<QUALITY> (opcional, apenas phantomjs): especificar a qualidade da imagem de saída, um inteiro entre 0 e 100 (padrão
75)
--ajax-max-timeouts AJAX_MAX_TIMEOUTS
<AJAX_MAX_TIMEOUTS> (opcional, apenas phantomjs): por requisição AJAX, e timeout máximo de URL em milissegundos
(padrão '1400,1800')
--crop CROP <CROP> (opcional, apenas phantomjs): retângulo <t,l,w,h> para recortar a captura de tela (padrão WINDOW_SIZE:
'0,0,w,h'), apenas números, l(argura) e a(ltura). Ex. "10,20,w,h"
--custom-js CUSTOM_JS
<CUSTOM_JS> (opcional, apenas phantomjs): caminho de um arquivo contendo código JavaScript a ser executado antes
de tirar a captura. Ex: js.txt
Parâmetros de rótulo da captura:
-l, --label <LABEL> (opcional): para cada captura, criar outra exibindo dentro a URL do alvo (requer
imagemagick)
--label-size LABEL_SIZE
<LABEL_SIZE> (opcional): tamanho da fonte para o rótulo (padrão 60)
--label-bg-color LABEL_BG_COLOR
<LABEL_BACKGROUND_COLOR> (opcional): cor de fundo do rótulo no imagemagick (padrão NavajoWhite)
--imagemagick-binary IMAGEMAGICK_BINARY
<LABEL_BINARY> (opcional): caminho para o binário do imagemagick (magick ou convert) se ele não for encontrado no $PATH
Parâmetros HTTP:
-c, --cookie COOKIE <COOKIE_STRING> (opcional): string de cookie a adicionar. Ex: -c "JSESSIONID=1234; YOLO=SWAG"
-a, --header HEADER <HEADER> (opcional): cabeçalho personalizado ou adicional. Repita esta opção para cada cabeçalho. Ex: -a "Host:
localhost" -a "Foo: bar"
-u, --http-username HTTP_USERNAME
<HTTP_USERNAME> (opcional): especificar um nome de usuário para Autenticação Básica HTTP.
-b, --http-password HTTP_PASSWORD
<HTTP_PASSWORD> (opcional): especificar uma senha para Autenticação Básica HTTP.