Скриншоты полных страниц в браузерах
От: HangmanNsk  
Дата: 03.10.08 07:46
Оценка:
Привет всем!

Помогите пожалуйста.

Необходимо написать приложение, которое могло бы делать снимки полных страниц, загруженных в браузеры (Opera, Firefox, Safari под Windows). Т.е. на входе имеем браузер с загруженной в него страницей, на выходе необходимо иметь JPEG-файл, представляющий из себя снимок не видимой части, а полностью всей страницы (с учетом скроллеров).

С помощью каких средств можно это осуществить? И вообще реально ли это сделать? Желательно, что был один универсальный подход ко всем типам браузеров.

Заранее спасибо
Re: Скриншоты полных страниц в браузерах
От: Eugeny__ Украина  
Дата: 22.10.08 14:47
Оценка:
Здравствуйте, HangmanNsk, Вы писали:

HN>Привет всем!


HN>Помогите пожалуйста.


HN>Необходимо написать приложение, которое могло бы делать снимки полных страниц, загруженных в браузеры (Opera, Firefox, Safari под Windows). Т.е. на входе имеем браузер с загруженной в него страницей, на выходе необходимо иметь JPEG-файл, представляющий из себя снимок не видимой части, а полностью всей страницы (с учетом скроллеров).


HN>С помощью каких средств можно это осуществить? И вообще реально ли это сделать? Желательно, что был один универсальный подход ко всем типам браузеров.


HN>Заранее спасибо


То есть, ты собрался фоткать то, чего нет даже в самом браузере? Браузер ведь не рендерит невидимые части, как мне кажется.
Чтобы реализивать такое, тебе понадобятся движки указанных браузеров, и код, который заставил бы их рендерить сайт в нужном разрешении. Так что идея нереальная.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[2]: Скриншоты полных страниц в браузерах
От: x64 Россия  
Дата: 22.10.08 15:39
Оценка:
Да реальная, просто слишком трудоёмкая, — придёться писать плагины для каждого броузера. В IE и Firefox плагины пишутся без проблем, а вот в Opera, я слышал, с этим проблемы (хотя сейчас уже может быть проще стало?). Про Safari ничего сказать не могу.

Другое решение может заключаться, например, в следующем:

1. Пишем фильтр транспортного уровня (это может быть, к примеру, TDI или LSP фильтры).
2. Парсим прикладной уровень, в частности, ищем HTTP-заголовки.
3. Из заголовка выдираем полный адрес запрашиваемой страницы вида http://site/file?args.
4. Учитываем что страница может быть отдана как по GET-запросу, так и по POST-запросу.
5. В случае POST'а не забываем также выдрать и POST-данные.
6. Далее любым удобным способом самостоятельно выполняем этот запрос (например, через функции WinINet).
8. Полученный HTML рендерим самостоятельно любым удобным способом, но проще всего, думаю, это воспользоваться движком MSHTML, — здесь поможет поиск по ключевым словам IHTMLElementRender и т.п. или так: скриншот страницы.

Самое сложное здесь это п. 1 и 2.
ihtmlelementrender mshtml
Re: Скриншоты полных страниц в браузерах
От: Эдик Россия  
Дата: 22.10.08 16:24
Оценка:
Здравствуйте, HangmanNsk, Вы писали:

HN>Необходимо написать приложение, которое могло бы делать снимки полных страниц, загруженных в браузеры (Opera, Firefox, Safari под Windows). Т.е. на входе имеем браузер с загруженной в него страницей, на выходе необходимо иметь JPEG-файл, представляющий из себя снимок не видимой части, а полностью всей страницы (с учетом скроллеров).


HN>С помощью каких средств можно это осуществить? И вообще реально ли это сделать? Желательно, что был один универсальный подход ко всем типам браузеров.


Есть такае программа, FastStone Capture, — она позволяет делать снимки экрана, его произвольных областей, окон. В ней есть функция «Capture Scrolling Window». Если я тебя правильно понял, то это то, что тебе нужно.
Для снимка окна со скроллером она просит указать нужное окно. После того, как окно указано, программа скроллирует его (по всей видимости, посылкой сообщения) и после каждого скроллирования делает снимок экрана. После того, как окно проскроллируется до конца, все сделанные снимки склеиваются в один.
... << RSDN@Home 1.2.0 alpha 4 rev. 1091>>
Re[3]: Скриншоты полных страниц в браузерах
От: Роман Дубров Украина Я@Blogspot
Дата: 28.10.08 15:06
Оценка:
x64 пишет:

> 5. В случае POST'а не забываем также выдрать и POST-данные.

> 6. Далее любым удобным способом самостоятельно выполняем этот запрос

ну и не забываем, что 2 подряд одинаковых запроса, особенно POST, это
ровно в 2 раза больше чем 1, со всеми вытекающими. Например вместо 1
записи в базу 2 добавится. Или удалится

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re: Скриншоты полных страниц в браузерах
От: HangmanNsk  
Дата: 04.11.08 12:51
Оценка:
Спасибо за ответы.
варианты с рендерингом не подходят, т.к. снимки нужны для всех типов браузеров, т.е. для всех движков.
Приходится делать хитро: двигать скроллер, делать скрин окна и затем склеивать.
Тоже трудоемко. И возникает проблема окончания скроллинга. Но постепенно все решается.
Re[2]: Скриншоты полных страниц в браузерах
От: Eugeny__ Украина  
Дата: 04.11.08 13:22
Оценка: +1
Здравствуйте, HangmanNsk, Вы писали:

HN>Спасибо за ответы.

HN>варианты с рендерингом не подходят, т.к. снимки нужны для всех типов браузеров, т.е. для всех движков.
HN>Приходится делать хитро: двигать скроллер, делать скрин окна и затем склеивать.
HN>Тоже трудоемко. И возникает проблема окончания скроллинга. Но постепенно все решается.

Забавные результаты получатся для сайтов с анимацией .
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.