скриншот по url php
Как сделать скриншот сайта по URL на PHP
В этой статье я покажу вам, как можно средствами PHP создать скриншот любой веб-страницы. Для решения этой задачи существует множество различных сервисов, предоставляющих API для создания скриншотов. В этой статье я буду использовать Google API, позволяющее запросто сделать скриншот по указанному URL-адресу. Преимуществом использования Google API в том, что для его использования не потребуется регистрация, или дополнительная настройка чего-либо. Скрипт, который мы напишем по ходу этой статьи можно будет скопировать и использовать, без дополнительных настроек и переписывания кода.
Disclaimer
Рассматривая подробнее Google API PageSpeed URL, можно увидеть, что здесь есть 3 основных параметра:
Запрос к API
Я сделал скрин на примере моего блога, потому полный URL-адрес выглядит так: https://www.googleapis.com/pagespeedonline/v2/runPagespeed?screenshot=true&strategy=mobile&url=https://badcode.ru
Для преобразования google-формата картинки к обычному, читаемому base64, нужно преобразовать следующие символы:
Ограничения
Полный пример
В этом примере я объединил все замечания, рассмотренные в этой статье, и создал функцию, которая сохраняет скриншот URL-страницы на компьютер.
Вот так, оказывается, просто написать php скрипт создания скриншотов сайтов. Теперь вы можете делать скриншот страницы на php в любом своём приложении.
Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
Get the latest posts delivered right to your inbox
Как получить скриншот сайта через URL, используя PHP
Создание снимков сайта в реальном времени используется для различных целей в веб-программировании. Существует множество сервисов (прикладных интерфейсов), позволяющих сделать скриншот страницы. Но, если вам нужно сделать свой собственный скрипт для создания скриншота сайта через URL, вы можете это легко сделать, используя PHP и Google PageSpeed Insights API.
В основном, Google PageSpeed Insights API используется для оценки производительности веб-страницы. Но, помимо этого, вы можете использовать Google PageSpeed Insights API, для получения снимка страниц сайта через URL адрес.
Следующий пример скрипта делает снимок произвольной страницы сайта URL адрес, которой определяется пользователем. Затем этот снимок, отображается на странице.
Получение скриншота сайта через URL.
Для создания снимка экрана, на сервис Google PageSpeed Insights необходимо послать запрос со следующими параметрами.
// вызов методов сервиса
$api_data = file_get_contents(«https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=$url&screenshot=true»);
// расшифровка данных** json
$api_data = json_decode($api_data, true);
// отображаем изображение
echo » «;
Захват снимка экрана через URL.
В этом примере мы создадим форму, в которую пользователь сможет ввести адрес страницы, скриншот которой он хочет получить.
Форма достаточно проста: она содержит одно поле ввода, которое принимает адрес сайта. После нажатия кнопки в дело вступает PHP скрипт.
До того момента, как мы непосредственно воспользуемся сервисом для создания снимков сайтов, нам необходимо провести проверку введенных пользователем данных на корректность. Вот код:
Таким образом, все за 10 минут можно создать собственный сервис по созданию скриншотов сайта. На этом все. Спасибо.
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 3 ):
Слишком мелкий скрин получается, нельзя получать покрупнее?
Мы решили не париться с этим на PHP, а использовали готовый сервис https://pikwy.com, убили сразу пару зайцев =)) Статья интересная, но есть один минус, если страницы нет в индексе гугла, то скрина не будет.
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.
Скриншот по url php
Web site screenshot tool based on PHP and PhantomJS You can use it to take screenshots for testing or monitoring service
If on any unix system, you need to make the bin executable chmod +x /path/to/screen/bin/phantomjs
The directory /path/to/screen/jobs must be writeble as well.
With this library you can make use of PhantomJs to screenshot a website.
Check our demo or read the following instructions.
Creating the object, you can either pass the url on the constructer or set it later on
You can also set the browser dimensions
you can set also DOM Element Position (top, left)
This will output all the page including the content rendered beyond the setted dimensions (e.g.: all the scrollable content), if you want just the content inside those boudaries you need to clip the result
Some webpages don’t have a background color setted to the body, if you want you can set the color using this method
You can also set the User Agent
And the resulted image type
And most importantly, save the result
Injection your own JS into the web page
You can also run your own JS scripts or snippets before the screenshot.
Just use this method before calling save(. )
Passing options to PhantomJS
You can set the options that will be passed to the PhantomJS binary.
Additionally to the basic usage, you can set so extra configurations.
You can change the where the PhantomJS binary file is.
Change the jobs location
And set an output base location
You can also clean/delete all the generated job files like this:
The MIT License (MIT). Please see License File for more information.
Thanks to the PhantomJS (LICENSE) guys for creating their awesome WebKit scripting interface.
This tool was originally created to take screenshots for Microweber
About
Website screenshot tool based on PHP and PhantomJS
Как получить скриншот стороннего ресурса?
привет.Как можно осуществить задумку?На выходе должно быть изображение.
Довытащить код со стороннего ресурса: доковырять preg_match
Сделал простую страничку с любимым радио. Хочу чтобы название играющего трека отображалось прямо на.
Как получить из видео скриншот?
Всем привет! Возникла проблема получения картинок из большого количество видео. Как получить.
Ссылки стороннего ресурса
Всем хорошего настроения! Возникла идея создать сайт-агрегатор по определенной тематике. Для этого.
Как встроить картинку на сайт в виде «ссылка-миниатюра» со стороннего ресурса
Подскажите пожалуйста, как встроить картинку на своем сайте, которая лежит на бесплатном.
мое скромное имхо. кто-то, а возможно вы, должны, для вашей задачи, написать браузер. и вы получите все возможности браузера. на php это не рационально с точки зрения производительности. скорее всего разумного решения нет.
Добавлено через 3 минуты
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Загрузка части данных со стороннего ресурса.
Здравствуйте. Подскажите каким методом можно получить объект содержащий страницу по указанному.
Перезаливка изображений на сервер со стороннего ресурса
Например с википедии или другого ресурса копируется текст с картинкой в web-редактор (В моем случае.
Скриншот окна стороннего приложения
Добрый день! Подскажите, как сделать фото участка программы, зная не хэндл, а полный путь к.
imagegrabscreen
(PHP 5 >= 5.2.2, PHP 7, PHP 8)
imagegrabscreen — Захватывает изображение с экрана
Описание
Функция доступна только в Windows.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Возвращает объект изображения в случае успешного выполнения, false в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
8.0.0 | В случае успешного выполнения функция теперь возвращает экземпляр GDImage ; ранее возвращался ресурс ( resource ). |
Примеры
Пример #1 Пример использования imagegrabscreen()
В этом примере показано, как сделать снимок экрана и сохранить его, как png картинку.
Смотрите также
User Contributed Notes 3 notes
If you have multiple displays set up, this function will only grab the primary display; not all of them like you would with the ‘Print Screen’ key.
Also, this should be pretty obvious but I’ll mention it anyway, if you’re running GPU-intensive applications (not CPU), calling this function will cause quite some significant lag to your machine and server response until the request is complete.
if you for whatever reason need this in Cygwin, this can be done with the library at https://github.com/divinity76/autoit_php
— cygwin-compatible rough equivalent: