Как можно реализовать, чтоб по url сайта генерить скриншот?

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
POLL
Сообщения: 5
Зарегистрирован: 17 май 2005, 15:26

31 май 2005, 12:33

Т.е. выходит, что нужно html сконвертировать в jpg (gif).
А как это реализовать на деле, не совсем ясно.
Можно ли это сделать с помощью ImageMagic? В документации сказанно, что html он понимает, только вот о механизме ничего не сказанно.

Хотелось бы получить, аналогичный результат - http://www.alexa.com/browse?&CategoryID=1
Т.е. автоматическая генерация скриншотов сайтов.

Буду благодарен любой тольковой мысле!
Аватара пользователя
Oscar
Сообщения: 958
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

31 май 2005, 16:53

Как видно, это CGI скрипт:
http://thumbnails.alexa.com/image_serve ... google.com

Я бы предположил, что скрипт реально открывает на сервере окно броузера, делает PrintScreen, обрезает сам броузер и из обрезанного буфера уже создаёт рисунок.
ИМХО, это самое простое и надёжное решение.

Парсить HTML, учитывая то, что на HTML можно писать как угодно коряво, задача не из простых,
а если учесть CSS и Javascript?
Прийдётся писать некоторое подобие броузера!

Кстати, тот скрипт, который как пример показан - не понимает, похоже, Javascript и Фреймы.


Спросил у товарища, который такое делал, получил в ответ:
ну как ты сам догадываешься, эт надо или браузер писать...или скриншотить браузер....
под *nix эт делается через виртуальный буффер, в котором запускается мозилла,с заданным урлом и скриншотится...

под винду есть какая то программулька....у нас на серваке юзается..надо спросить...
POLL
Сообщения: 5
Зарегистрирован: 17 май 2005, 15:26

01 июн 2005, 12:01

Спасибо Oscar, за дельный совет!
Да, видимо это самый оптимальный вариант из существующих.
Попробуем.

Хотя жаль, что сам imagemagic этого не может. Главное с клипов и со множества других форматов может картинку получить, а с html - нет. Хотя в списке форматов (http://www.imagemagick.org/script/formats.php) html присутствует.
Ответить