Документация

Используйте наш API для создания скриншотов веб-сайтов.

Создание запроса к API

Чтобы создать скриншот, отправьте запрос GET на этот URL.

https://api.pikwy.com

Аутентификация

Для авторизации необходимо к запросу добавить параметр token с вашим token API

https://api.pikwy.com/?token=YOUR_API_TOKEN&url=https://wikipedia.org

Параметры

Список всех параметров, которые вы можете добавить в запрос. Вы можете использовать длинные или короткие имена параметров.

Параметр Тип По умолчанию Диапазон значений Описание
token/tkn string '' '' Ваш API-токен.
url/u string '' '' URL сайта. Необходимо кодировать в URL encoded.
width/w int 1280 100 - 10000 Ширина браузера в пикселях.
height/h int 1024 100 - 50000 Высота браузера в пикселях.
full_page/fs int 0 0, 1 Если 1, скриншот будет сделан по всей высоте веб-страницы.
format/f string jpg png, jpg Формат миниатюры или скриншота
response_type/rt string image json, html, image Если вы выберете json, API вернет изображение, закодированное в base64, и дополнительную информацию: код ответа, заголовки ответа. Если вы выберете html, API вернет код html-страницы. Если вы выберете image, API вернет изображение.В случае неудачного ответа, текст ошибки.
timeout/t int 0 0 - 120000 Ограничивает максимальное время в миллисекундах для создания снимков экрана. Если скриншот не создан вовремя, API вернет ошибку тайм-аута.
delay/d int 0 0 - 60000 Сколько секунд ждать, прежде чем сделать скриншот.
refresh/r int 0 0, 1 После полной загрузки страницы, Pikwy ждет 1 секунду и обновляет страницу.
user_agent/ua string '' '' Пользовательская переменная для установки вашего user-agent. Значение должно быть закодировано по URL.
headers/hdrs string '' '' Пользовательская переменная для установки Headers. Допускается несколько параметров заголовков.
&headers[Referer]=https://wikipedia.org/&headers[Cache-Control]=max-age=0
&headers[Cookie]=SSID=WX84BVOEA3WEDSHJHG;SEARCH_SAMESITE=CgQI5o4B
В некоторых случаях файлы cookie, отправленные с использованием &headers[Cookie], не принимаются. В этом случае вы должны использовать cookie ниже.
cookie/c string '' '' Чтобы отправить cookie с одним параметром:
&cookie[0][name]=is_mobile_app&cookie[0][value]=true
Чтобы отправить файл cookie с несколькими параметрами:
&cookie[0][name]=is_mobile_app&cookie[0][value]=true&cookie[1][name]=city_id&cookie[1][value]=710000000&cookie[1][domain]=wikipedia.org, etc.
optional keys - “path”, “domain”, “secure”, “expiry”
http_proxy/pxip string '' '' IP-адрес для подключения к прокси. Пример: 127.0.0.1:8080
proxy_user_name/pxnm string '' '' Укажите имя пользователя для прокси-сервера
proxy_password/pxpw string '' '' Укажите пароль для прокси-сервера

Примеры кода

Эти примеры кода показывают, как сохранить скриншот веб-сайта в файл.

var fs = require('fs')
var request = require('request');

// The parameters.
var token = 'YOUR_API_TOKEN';
var url = encodeURIComponent('https://www.wikipedia.org/');
var width = 1280;
var height = 1024;
var response_type = 'image';

// Create the query URL.
var query = "https://api.pikwy.com";
query += `?token=${token}&url=${url}&width=${width}&height=${height}&response_type=${response_type}`;

// Call the API and save the screenshot.
request.get({url: query, encoding: 'binary'}, (err, response, body) => {
    fs.writeFile("screenshot.png", body, 'binary', err => {
        if (err) {
            console.log(err);
        } else {
            console.log("The file was saved!");
        }
    });
});

function SiteScreenshot($token, $url, $width, $height, $response_type = 'image') {
	// Parameters.
	$token = $token; ///YOUR_API_TOKEN
	$url = urlencode($url);
	$width = $width;
	$height = $height;
	$response_type = $response_type; ///Response type: json, image

	// Create the query URL.
	$query = "https://api.pikwy.com/";
	$query .= "?token=$token&url=$url&width=$width&height=$height&response_type=$response_type";

	// Call the API.
	$image = file_get_contents($query);

	// Store the screenshot image.
	file_put_contents('./screenshot.png', $image);
}
#!/usr/bin/python3
import urllib.request
import urllib.parse

def generate_screenshot_api_url(token, options):
  api_url = 'https://api.pikwy.com/?token=' + token
  if token:
    api_url = api_url + '&url=' + options.get('url')
    api_url = api_url + '&width=' + options.get('width')
    api_url = api_url + '&height=' + options.get('height')
    api_url = api_url + '&response_type=' + options.get('response_type')
  return api_url;

token = 'YOUR_API_TOKEN'
options = {
  'url': 'https://www.wikipedia.org/',
  'width': '1280',
  'height': '2000',
  'response_type': 'image'
  }

api_url = generate_screenshot_api_url(token, options)

#
opener = urllib.request.build_opener()
urllib.request.install_opener(opener)
output = 'output.png'
urllib.request.urlretrieve(api_url, output)
		  
Imports System
Imports System.net
				
Public Module PikwyClient
	Public Sub Main()
        Dim token As String
        Dim ApiUrl As String
        Dim UrlOpt As Url_Options	
        token = "YOUR_API_TOKEN"

        UrlOpt.url = "https://www.wikipedia.org/"
        UrlOpt.width = 1280
        UrlOpt.height = 1024
        UrlOpt.response_type = "image"
		
        REM Parameters.
        ApiUrl = "https://api.pikwy.com/?token=" & token
        If token <> "" Then
            ApiUrl = ApiUrl & "&url=" & UrlOpt.url
            ApiUrl = ApiUrl & "&width=" & UrlOpt.width
            ApiUrl = ApiUrl & "&height=" & UrlOpt.height
            ApiUrl = ApiUrl & "&response_type=" & UrlOpt.response_type
        End If
		
        REM Save screenshot as an image.
        Dim Client As New WebClient
        Dim output As String = "\output.png"
		Console.WriteLine(ApiUrl)
        Client.DownloadFile(ApiUrl, output)		
		Console.WriteLine("The file was saved!")
	End Sub
End Module

Module PikwyOptions
    Public Structure Url_Options
        Public url As String
        Public width As Integer
        Public height As Integer
        Public response_type As String
    End Structure
End Module