Делаем скриншоты сайтов у себя на странице

Позновательная статья с webphp.ru:

Очень часто подымаются вопросы как при помощи PHP сделать скриншот сайтов, очень много было обсуждений на эту тему, я хочу всё же подытожить все эти дискуссии и описать способ который использую я.

Итак первое и самое главное — средствами PHP делать скриншоты сайтов нельзя!

Сделать скриншоты можно при помощи различных сервисов, их очень много, но вот хороших которые делают скриншоты в риалтайме не так уж и много, а тем более таких где самому можно указать размер скриншота.

Для своих проектов я использую сервис сайта
http://www.artviper.net

и сейчас пошагово объясню как работать с их сервисом, на сайте всё понятно расписано,но не все понимают на английском
Итак для начала идём по ссылке

http://www.artviper.net/registerAPI.php

и регистрируемся, необходимо вбить свой логин, емеил и урл сайта с которого будут идти запросы на создание скриншотов.
После этого на указанный емеил приходит письмо с ссылкой для подтверждения регистрации, после перехода по ней вам придёт ещё одно письмо, в котором рассказывается как использовать данный API и ваш персональный User ID и Secret Key.

Что бы не ходить вокруг да около, вот пример работы с их API

<?php
$uID = '889d917202b3579';
$secretKey = '90acb7c0';
$url=«http://webphp.ru»;
$hash=md5($url.$uID.$secretKey);
?>
<input type=image src=«http://www.artviper.net/screenshots/screener.php?url=<? echo $url; ?>&h=190&w=200&userID=889d917202b3579&hash=<?=$hash;?>» width=«200px» height=«190px» alt="" name=«sub»>

теперь немного поясню
$uID -персональный id который пришёл в письме
$secretKey -секретный ключ который пришёл в письме
$url — адресс страницы которую нам нужно отскриншотить
$hash — обязательный параметр, в котором нам нужно передать MD5 хеш перечисленных переменных, обязательно соблюдать данный порядок.

Теперь дальше, в примере я вставляю скриншот прямо с их сайта, передаём нужные переменные их скрипту, помимо вышеописанных вы видите ещё h и w, что является высотой и шириной скриншота, который возвращает нам сервис(данные параметры не являются обязательными, если их не указать то сервис автоматически сформирует размер, который посчитает нужным)

А вот ещё несколько необязательных параметров, которые я не использовал, но которые могут некоторым пригодиться

&q — качество возвращаемого jpeg скриншота. можно задать значение в пределах от 30 и до 90
&d — задержка перед созданием скриншота
&sdx — ширина виртуального экрана с которого будет сделан скриншот, ну или как это правильно обозвать (разрешение монитора под которым делается скриншот) Может принимать значения 640, 800, 1024, 1280
&sdy — Тоже самое только высота.

Правильным подходом будет сохранение данных скриншотов себе на сайт, и дальнейшее использование уже со своего сервера, ну это уже личное дело каждого. Я думаю что достаточно понятно объяснил как использовать данный сервис, если у кого то остались вопросы, то я постараюсь на них ответить

  • DiamondSteel

    Итак первое и самое главное — средствами PHP делать скриншоты сайтов нельзя!

    Ну почему же нельзя... Можно.

    Хоть и с несколькими ограничениями.

    habrahabr.ru/blogs/php/62965/

Запись навигация

Top