Сегодня обращу Ваше внимание на сервис создания скриншотов Интернет-сайтов s-shot.ru, который предоставляет свободный (но ограниченный) доступ к своему API. Подробнее читаем документацию, изучаем тарифы и ограничения.
Теперь попробуем сделать снимок сайта с помощью сервиса s-shot.ru и скрипта PS1.
Для начала определимся с переменными. Исходя из документации для полноразмерного скриншота сайта нам нужны: размер, разрешение, формат конечного файла и адрес сайта. Создаём переменные:
# Предлагаем пользователю ввести адрес сайта # $targetURI = Read-Host "Адрес сайта" # Задаём ширину изображения # $resolution = 2560 # Задаём формат файла, дату и генерируем имя файла # $getdate = Get-Date -Format "ddMMyyyyHHmmss" $fileformat = "jpeg" $filename = "$getdate.$fileformat"
Ширину скриншота возьмём самую максимальную из заявленных в комбо-боксе на сайте — 2560 px. Формат файла будет Jpeg (ещё сервисом s-shot.ru поддерживается png) и, соответственно, выходной файл будет именоваться текущей датой/временем с расширением jpeg.
Осталось самое важное — отправить запрос и получить скриншот:
# Скачать скриншот сайта # wget "http://mini.s-shot.ru/$resolution/$resolution/$fileformat/?$targetURI" -OutFile "$filename"
Как только скрипт отработает, в папке рядом со скриптом будет создан скриншот указанного пользователем сайта.
Целиком исходный код скрипта PS1 может выглядеть так:
[System.Console]::Title = "Скриншот сайта" $targetURI = Read-Host "Адрес сайта" $resolution = 2560 $getdate = Get-Date -Format "ddMMyyyyHHmmss" $fileformat = "jpeg" $filename = "$getdate.$fileformat" wget "http://mini.s-shot.ru/$resolution/$resolution/$fileformat/?$targetURI" -OutFile "$filename"