Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Сделать скриншот сайта


Автор: MPx 4.11.2006, 17:04
Приветствую.

Как сделать скриншот сайта средствами PHP?

Поискал на форуме что-то подобное в категории PHP, но так ничего и не нашёл. В гугле нашёл программу khtml2png, но она под линукс. SSH у меня нет. Отдал администратору сервера, он не захотел ставить ссылаясь на безопасность smile ))

Ещё думал сделать что-то подобное в PDF, а потом PDF перевести в jpeg или gif. Нашёл класс, который сохраняет страницу в PDF... Но, слишком криво. Таблицы расползаются, картинки, соответственно, разъезжаются. Я уже молчу про DIVы.

Вообщем, решения не нашёл. Может кто встречался с этим?)
На самом деле, очень полезная вещь. Мне, например, нужна для поисковика - делать небольшие скрины сайтов...

Рабочий пример: http://alexa.com/search?q=mail.ru
Этот поисковик имеет довольно большую базу сайтов со скриншотами.

Автор: CyClon 5.11.2006, 18:22
Помоему одними средствами PHP это сделать невозможно...

Автор: nerezus 5.11.2006, 23:30
Цитата

Отдал администратору сервера, он не захотел ставить ссылаясь на безопасность  ))
 А локально в своей папке директории? и через system() запускать.

Автор: MPx 8.11.2006, 14:16
nerezus, Так установить нужно. А у моего пользователя таких прав нет smile .. Только root.

CyClon, да, у меня есть программа под Линукс, как я писал выше. Она это делает с помощью граф. оболочки... В том случае, это был KDE.

Есть ещё какие-нибудь идеи?

Автор: MPx 8.11.2006, 15:40
Народ... Посоветуйте что-нибудь... иначе завал smile

Автор: CyClon 8.11.2006, 22:01
Да ну, если я, например, не проделывал такую фичу, то ничего и сказать не могу. Так и другие, думаю. Нужно искать человека, который занимался этим.

Автор: nerezus 9.11.2006, 10:52
Цитата

nerezus, Так установить нужно. 
 А в свой каталог поставить?  smile Разве нужен рут?  smile 

Автор: romantik 25.2.2007, 00:50
http://msnsearch.srv.girafa.com/srv/i?s=MSNSEARCH&r=mail.ru

 smile сдесь они фриварные, но сделаны под 800*600 - не оч удобно... ну может сойдет ;) я для баннерной сети заюзал...

могу выложить скрипт с кэшированием их у тебя на серваке

Добавлено @ 00:51 
а еще я где-то видел ресурс с заказом такой фичи за бабки... урл не могу вспомнить  smile 

Автор: ST_Falcon 13.3.2007, 19:41
помоему через флеш можно сделать скриншот. на icq.com кажется так и делали

Автор: capitan 18.3.2007, 23:11
Да, с http://msnsearch.srv.girafa.com скрины проще забирать  smile  Вот пример, сегодня сделал: http://capitanstudio.net.ru/pagerank/  Вроде работает. Надо будет попробовать через мультикурл сделать, думаю будет намного быстрее работать.

Автор: skyboy 18.3.2007, 23:24
в принципе, можно реализовать DOM-дерево(либо при помощи функций доступа к DOM, либо самописно), наложить на них стили из CSS и отрисовать при помощи GD.
потенциальных проблем тут немало:
  • никак не учесть влияние javascript-вставок; иначе задача приравнивается по сложности к процессу написания собственного браузер-движка;
  • если с box-моделью(отступами, размерами и т.д.) ещё все понятно, то с динамическими элементами(вставленный флеш-ролик) или элементами, фейс которых определяется бразуром(<select>,<button>) уже посложнее - надо немало постараться, чтоб отображать по-человечески;
  • DTD и !DOCTYPE определяют специфику отрисовки - соответственно, скрипт "отрисовки" должен будет как-то обрабатывать DTD, чтоб получалось "правдоподобно"
наверняка, проблемы есть ещё. это навскидку. может, проще договориться с администратором хостинга?

Автор: mishaSL 19.3.2007, 20:56
Цитата
проще договориться с администратором хостинга

Это уж точно... реализовать свой браузер на PHP с правильным отображением CSS, JavaScript и т.д. это не самое рациональное решение...

Автор: WolfON 3.4.2007, 16:57
Про Gecko  и Mozilla слышали?
не сомневаюсь если можно это использовать для рендеринга страниц

Автор: mishaSL 4.4.2007, 18:35
Цитата(WolfON @  3.4.2007,  16:57 Найти цитируемый пост)
Про Gecko  и Mozilla слышали?

 smile 

Вопрос целесообразности и в этом:
Цитата(MPx @  8.11.2006,  14:16 Найти цитируемый пост)
Так установить нужно. А у моего пользователя таких прав нет



Автор: rubyclub 27.1.2008, 00:14
Собираюсь реализовать такой сервис на своем сервере 
так что если еще актуально пиши будешь первым кто будет тестить его 

скрины делаются уже  тумбсы и  большые тоже так что буду рад возможному сотрудничеству  в этом направлении.
сервис http://web-face.net будет десь
на 18  февраля пока еще проект не рапущен но думаю что через недельку вторую будет работать 

Автор: flashaa 27.1.2008, 16:39
Цитата(mishaSL @  19.3.2007,  20:56 Найти цитируемый пост)
реализовать свой браузер на PHP с правильным отображением CSS, JavaScript и т.д. это не самое рациональное решение...

На это можно всю жизнь потратить ) Неужели нет готовых сервисов, которые могли бы предоставить скрин по урл?

Автор: sTa1kEr 27.1.2008, 21:02
Почему же нету? Есть к примеру такой сервис http://shots.snap.com/

Автор: Endeveit 28.1.2008, 11:18
Честно говоря, не вижу никаких сложностей в создании скриншотов.
Например, вот http://www.debian-administration.org/articles/413.
Конечно, для этого понадобится как минимум собственный VPS, но мне не кажется, что это такая уж большая проблема в наше время дешевых услуг хостинга.

Автор: chiffa 29.1.2008, 10:48
Всем привет. Есть задача, получать средствами  пхп скриншот удаленного сайта. Идея делать следующим образом:  создаю картинку и на нее наношу содержимое сайта. все гуд, но есть одна проблема. что делать с тегами? Как отображать их? Может у кого есть идеии?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)