
Простой скрипт для создания скриншотов списка веб-сайтов
Простой скрипт для создания скриншотов списка веб-сайтов, основанный на скрипте PhantomJS url-to-image.
--ignore-certificate-errors не работает и больше никогда не будет работать: решение — использовать подходящий веб-драйвер, но на данный момент webscreenshot не ставит целью поддержку этого довольно сложного метода, требующего сторонних инструментов.ImageMagick)Поместите цели в текстовый файл и передайте его с опцией -i, или как позиционный аргумент, если у вас только один URL.
Скриншоты по умолчанию будут сохранены в текущую директорию ./screenshots/.
Принимаются следующие форматы входных данных:
http(s)://domain_or_ip:port(/resource)
domain_or_ip:port(/resource)
domain_or_ip(/resource)
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 показать это справочное сообщение и выйти
Основные параметры:
URL Одиночный URL-адрес цели, задаваемый как позиционный аргумент
-i, --input-file INPUT_FILE
<INPUT_FILE> текстовый файл, содержащий список целей. Пример: list.txt
-o, --output-directory OUTPUT_DIRECTORY
<OUTPUT_DIRECTORY> (необязательно): директория для вывода скриншотов (по умолчанию './screenshots/')
-w, --workers WORKERS
<WORKERS> (необязательно): количество параллельных рабочих процессов (по умолчанию 4)
-v, --verbosity <VERBOSITY> (необязательно): уровень подробности, повторите для повышения уровня { -v INFO, -vv DEBUG } (по умолчанию
verbosity ERROR)
--no-error-file <NO_ERROR_FILE> (необязательно): не записывать файл со списком URL-адресов, для которых скриншот не удался (по умолчанию false)
-z, --single-output-file SINGLE_OUTPUT_FILE
<SINGLE_OUTPUT_FILE> (необязательно): имя файла, который будет единым выходным файлом для всех входных данных. Пример: test.png
Параметры обработки ввода:
-p, --port PORT <PORT> (необязательно): использовать указанный порт для каждой цели в списке ввода. Пример: -p 80
-s, --ssl <SSL> (необязательно): принудительно включить SSL/TLS для каждого соединения
-m, --multiprotocol <MULTIPROTOCOL> (необязательно): создавать скриншоты по HTTP и HTTPS для каждой цели
Параметры рендерера скриншотов:
-r, --renderer {phantomjs,chrome,chromium,edge,firefox}
<RENDERER> (необязательно): используемый рендерер: 'phantomjs' (устаревший, но лучшие результаты), 'chrome', 'chromium',
'edge', 'firefox' (версия > 57) (по умолчанию 'phantomjs')
--renderer-binary RENDERER_BINARY
<RENDERER_BINARY> (необязательно): путь к исполняемому файлу рендерера, если он не найден в $PATH
--no-xserver <NO_X_SERVER> (необязательно): если вы работаете без X-сервера, будет использоваться xvfb-run для выполнения рендерера
(по умолчанию пытается определить, существует ли переменная окружения DISPLAY
Параметры изображения скриншота:
--window-size WINDOW_SIZE
<WINDOW_SIZE> (необязательно): ширина и высота захвата экрана (по умолчанию '1200,800')
-f, --format {pdf,png,jpg,jpeg,bmp,ppm}
<FORMAT> (необязательно, только phantomjs): указать формат выходного файла изображения: "pdf", "png", "jpg", "jpeg", "bmp"
или "ppm" (по умолчанию 'png')
-q, --quality [0-100]
<QUALITY> (необязательно, только phantomjs): указать качество выходного изображения, целое число от 0 до 100 (по умолчанию
75)
--ajax-max-timeouts AJAX_MAX_TIMEOUTS
<AJAX_MAX_TIMEOUTS> (необязательно, только phantomjs): тайм-аут на каждый AJAX-запрос и максимальный тайм-аут URL в миллисекундах
(по умолчанию '1400,1800')
--crop CROP <CROP> (необязательно, только phantomjs): прямоугольник <t,l,w,h> для обрезки захваченного экрана (по умолчанию соответствует WINDOW_SIZE:
'0,0,w,h'), только числа, w(idth) и h(eight). Пример: "10,20,w,h"
--custom-js CUSTOM_JS
<CUSTOM_JS> (необязательно, только phantomjs): путь к файлу, содержащему JavaScript-код для выполнения перед
созданием скриншота. Пример: js.txt
Параметры меток скриншотов:
-l, --label <LABEL> (необязательно): для каждого скриншота создать дополнительный с отображённым внутри URL-адресом цели (требуется
imagemagick)
--label-size LABEL_SIZE
<LABEL_SIZE> (необязательно): размер шрифта для метки (по умолчанию 60)
--label-bg-color LABEL_BG_COLOR
<LABEL_BACKGROUND_COLOR> (необязательно): цвет фона метки в imagemagick (по умолчанию NavajoWhite)
--imagemagick-binary IMAGEMAGICK_BINARY
<LABEL_BINARY> (необязательно): путь к исполняемому файлу imagemagick (magick или convert), если он не найден в $PATH