Как создать соскоб экрана? «Я хочу знать только цикл» - PullRequest
0 голосов
/ 26 марта 2009

Я хочу, чтобы экран скребал точно такую ​​же идею, как этот http://www.vimeo.com/1626505 Что я хочу знать, как это сделать? - Когда пользователь нажимает на букмарклет, он отправляет на мой сервер URL-адрес, после чего мой сервер возвращается на страницу клиента со списанными файлами javascript, которые будут загружаться при загрузке iframe, сценарий java будет удалять данные текущего и вставьте в iframe.

OR - Bookmarklet отправит моему серверу только URL-адрес, а мой сервер откроет URL-адрес с помощью кода .Net и извлечет его, получит из него необходимые данные, а затем отправит клиенту iframe, заполненный правильными данными.

Что правильно? или есть другой способ? и почему это право не другой?

Ответы [ 2 ]

2 голосов
/ 26 марта 2009

на стороне клиента

Плюсы

Страница уже загружена там
Проанализировать DOM относительно легко с помощью JS

Против

JS включен?
Насколько быстро работает компьютер пользователя?
Что происходит, если пользователь просматривает средний поток?

Серверное

Плюсы

Больше контроля (я полагаю), чем у JS
Обнюхивание страниц должно быть довольно быстрым

Против

Страница попадает дважды (увеличенный сетевой трафик)
Ваш сервер фактически должен проанализировать / обработать страницу (как она масштабируется?)

Не могу больше думать (я уверен, что мне очень не хватает). Суть в том, что это мера ваших клиентских / серверных навыков в отношении пропускной способности и нагрузки на сервер.

2 голосов
/ 26 марта 2009

Я не знаю, похож ли он на Vimeo, но вот простая реализация на стороне сервера, использующая C #:

 WebRequest wrContent = WebRequest.Create("http://www.site.com/yourtargetpage.html");
 Stream objStream = wrContent.GetResponse().GetResponseStream();
 StreamReader objStreamReader = new StreamReader(objStream);
 Content = objStreamReader.ReadToEnd();
 DataBind();

«Содержимое» - это строковая переменная, объявленная в начале класса вашей страницы:

 protected string Content;

Поместите это на страницу ASPX, где вы хотите, чтобы содержимое отображалось:

 <%# Content %>

Это очень легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...