В Интернете есть URL-адрес страницы. Мне нужно получить снимок экрана этой страницы (независимо от того, в каком браузере).
Мне нужен скрипт (PHP, Python (даже Django framework)), который получает URL (строку) и выводит скриншот-файл на выходе (файл gif, png, jpg).
UPD:
Мне нужно динамически создать страницу, где напротив URL будет размещен скриншот страницы с тем же URL-адресом.
Зачем вам нужен сценарий, когда вы можете использовать сервис с другого сайта?
Проверьте, например, что я использую: WebSnapr http://www.websnapr.com/
Или проверьте http://www.google.ro/search?ie=UTF-8&q=website+thumbnail, если что-то еще соответствует вашему запросу.
Вы можете использовать, как и я, API-интерфейс shotbox
Это на французском, но все же, быстро:
Чтобы получить ключ API: http://translate.google.fr/translate?hl=fr&sl=fr&tl=ru&u=http%3A%2F%2Fwww.shotbot.net%2Fcreer-un-compte-webmaster.php
<img src='http://zenithwebtechnologies.com.au/thumbnail.php?url=www.subway.com.au'>
Передайте url как аргумент, и вы получите изображение для более подробной информации. Посмотрите эту ссылку. http://zenithwebtechnologies.com.au/auto-thumbnail-generation-from-url.html
Если вы работаете с Python, вы можете использовать PyQt4. Эта библиотека поддерживает получение скриншотов из URL-адреса.
PhantomJS – лучший вариант для создания скриншотов из URL. Следующий сценарий демонстрирует простейшее использование захвата страниц. Он загружает домашнюю страницу Github, а затем сохраняет ее как изображение, github.png. Код
var page = require('webpage').create(); page.open('http://github.com/', function() { page.render('github.png'); phantom.exit(); });
Для запуска этого примера создайте новый файл github.js. Скопируйте и вставьте указанный выше код в файл github.js. В командной строке запустите этот вновь созданный скрипт с помощью PhantomJS:
phantomjs github.js
Там много проектов для создания скриншотов с использованием PhantomJS. Pageres генерирует надежные скриншоты и основывается на NodeJS и PhantomJS.
Существует также http://webshot.mine.sk/ бесплатно без ограничений, несколько API (js, jquery, php)