Как я могу автоматически сделать скриншот сайта в указанное время?

33800
SBSTN

Мне нужно сделать скриншот сайта автоматически в указанное мной время. В идеале он не будет использовать мой компьютер, поскольку он не гарантированно будет включен в указанное время.

Есть ли какой-то веб-сервис, который делает это? Или какой-нибудь (бесплатный) хостинг-сайт, где я мог бы настроить скрипт для этого (на ум приходит PHP)? У меня есть iPhone с джейлбрейком, который также может быть использован (jailbreaked = У меня есть root-доступ и, возможно, я могу творить cronчудеса).

5
ПОЖАЛУЙСТА, может кто-нибудь уточнить, почему это относится к SO. ОП ищет решение, которое может включать PHP, а может и нет? BinaryMisfit 14 лет назад 0
Проверьте эти ссылки: http://labs.trolltech.com/blogs/2009/01/15/capturing-web-pages/, http://browsershots.org/, http://wiki.imacros.net/Browser_Automation# Web_Site_Screenshot, http://wiki.imacros.net/iMacros_for_Firefox#Command_Line_Support kenorb 8 лет назад 0

10 ответов на вопрос

2
buba

Вы можете начать сеанс на http://browsershots.org . Я думаю, что если вы знаете, как делать cronjob, его можно запустить в любое время.

2
Natim

Вы можете использовать веб-захват. Простой скрипт с использованием webkit и Qt.

http://labs.trolltech.com/blogs/2009/01/15/capturing-web-pages/

2
dennis

Вы можете посмотреть на эту запись в блоге, описывающую, как сделать скриншот

Как видите, есть скрипт php, который делает снимок экрана:

<?php  // save this snippet as url_to_png.php // usage: php url_to_png.php http://example.com if (!isset($argv[1])){ die("specify site: e.g. http://example.com\n"); }  $md5 = md5($argv[1]); $command = "wkhtmltopdf $argv[1] $md5.pdf"; exec($command, $output, $ret); if ($ret) { echo "error fetching screen dump\n"; die; }  $command = "convert $md5.pdf -append $md5.png"; exec($command, $output, $ret); if ($ret){ echo "Error converting\n"; die; }  echo "Conversion compleated: $argv[1] converted to $md5.png\n";  

Однако вам нужно ImageMagick и wkhtmltopdf :

sudo aptitude install imagemagick wkhtmltopdf 

Не нужно много воображения, чтобы настроить работу cron, которая использует этот скрипт, а затем сохраняет его в папке.

1
Babuss

Вы можете использовать Wimg.ca, вот пример .

1
Kalatzis Stefanos

Несколько месяцев назад мне пришлось сделать что-то подобное, и я нашел три небольших программы.

В Windows вы можете использовать инструмент с открытым исходным кодом под названием IEcapt

Использование из командной строки:

iecapt --url=http://www.google.com/ --out=localfile.png 

В Linux вы можете использовать html2jpg или Webthumb .

Я использовал IEcapt и работал нормально для меня.

0
harrymc

В этой статье Создатели миниатюр веб-сайтов (Генераторы моментальных снимков веб-сайта) обсуждают несколько способов достижения этой цели. Например, это указывает на:

Бесплатные сценарии PHP :: Генератор миниатюр веб-сайтов

Генератор большого пальца веб-сайта можно использовать для создания миниатюр веб-сайтов в соответствии с вашими потребностями или для запуска собственной службы создания миниатюр веб-сайтов.

Требования:

  • Windows хостинг
  • Библиотека PHP GD (установлена ​​на большинстве хостингов)
  • Разрешения на выполнение сторонних приложений (т.е. исполняемых файлов)
  • Разрешения на выполнение Internet Explorer

Как это устроено:

  • Генератор миниатюр веб-сайтов проверяет, есть ли в кэше изображение веб-сайта, и показывает его в браузере.
  • Если кэшированное изображение отсутствует, то из сценария будет запускаться IECapt.
  • IECapt запустит Internet Explorer, возьмет
    с него полноразмерный скриншот веб-сайта и сохранит изображение в
    папку, указанную в
    настройках скрипта .
  • Затем генератор миниатюр веб-сайта изменит размер изображения и покажет его в
    браузере.
0
FredT

iMacros для Firefox можно использовать для создания полных снимков экрана веб-браузера: http://wiki.imacros.net/Browser_Automation#Web_Site_Screenshot

Запустите его с помощью планировщика задач и командной строки: http://wiki.imacros.net/iMacros_for_Firefox#Command_Line_Support

0
Julien

Вы можете попробовать Webcron + сервис скриншотов, например Browshot, с их библиотекой PHP . Вы также должны были бы сделать то же самое / загрузить свой скриншот где-нибудь, например, S3.

0
user1474090

Я использовал GrabzIt раньше для такой работы, они предоставляют простую в использовании библиотеку PHP. Чтобы использовать его, вам нужно сделать что-то вроде:

include("GrabzItClient.class.php"); $grabzIt = new GrabzItClient(); $id = $grabzIt->TakePicture("http://www.google.com");  //wait a certain amount of time and retrieve the screenshot  $result = $grabzIt->GetPicture($id);   if (!$result){ return;} file_put_contents("images/test.jpg", $result); 
0
Rohan

Определенно рекомендую использовать существующий сервис, а не кодировать новый. Я использую http://www.websnaps.co

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