Извлечение данных со страницы ASPX - PullRequest
0 голосов
/ 14 сентября 2010

Мой босс поручил мне идиотское и запаздывающее задание.

Задача: дать веб-приложение, которое возвращает таблицу с нумерацией страниц, создать программное обеспечение, которое "считывает и анализирует", так какнет ничего лучше, чем веб-сервис, который предоставляет необработанные данные.Это похоже на приложение «паук» или «сканер» для кражи данных, к которым программный доступ не предназначен.

Теперь дело в том, что приложение создано с помощью стандартного механизма веб-формы aspx, поэтому ничего похожего на стандартные URL-адреса илипосты, но ужасный постбэк движок переполнен javascript и недоступным html.Пагинационные ссылки вызывают печально известный javascript: __ doPostBack (param, param), поэтому я думаю, что он даже не будет работать, если я попытаюсь даже симулировать клики по этим ссылкам.

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

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

У кого-то есть смутное представление, если это выполнимо, или если я должен сказать своему боссу, чтобы он прекратил, попросив меня сделать это запаздывающее?

РЕДАКТИРОВАТЬ: возможно, я был немного неясным о том, что я должен достичь.Я должен анализировать, извлекать и преобразовывать эти данные в другом формате - скажем, в Excel - а не просто читать.И этот материал должен быть автоматизирован без участия пользователя.Я не думаю, что Selenium обрежет это.

РЕДАКТИРОВАТЬ: Я только что написал в блоге об этой ситуации.Если кому-то интересно, можете проверить мой пост на http://matteomosca.com/archive/2010/09/14/unethical-programming.aspx и прокомментировать это.

Ответы [ 4 ]

1 голос
/ 14 сентября 2010

WatiN поможет вам перемещаться по сайту с точки зрения пользовательского интерфейса и захватывать HTML-код, а информацию о парсерах .NET DOM можно найти здесь .

1 голос
/ 15 сентября 2010

Хватит игнорировать предложенные инструменты.

Нет, парсер, который вы можете написать, не WatiN или Selenium, оба будут работать в этом сценарии.

ps.Если бы вы упомянули что-либо о необходимости извлечения данных из flash / flex / silverlight / Similar, то это был бы другой ответ.


Кстати, причина для продолжения или нет, безусловно, не техническая, но этическаядаже законноСмотрите мой комментарий по этому вопросу, чтобы узнать мое мнение по этому вопросу.

0 голосов
/ 26 января 2011

@ Insane, на сайте CDC есть именно эта проблема, и данные общедоступны (и мы налогоплательщики заплатили за это), я пытаюсь получить данные опроса и вопроса от http://wwwn.cdc.gov/qbank/Survey.aspx, и это абсурдно сложно. Не незаконный или неэтичный, просто ужасная реализация, которая, кажется, преднамеренно затрудняет получение данных (также недоступных для поисковых систем).

Я думаю, что Selenium будет работать для нас, спасибо за предложение.

0 голосов
/ 14 сентября 2010

Уже прокомментировал, но думаю, что это на самом деле ответ.
Вам нужен инструмент, который может нажимать ссылки на стороне клиента и ждать, пока страница перезагрузится. Такие инструменты, как селен могут сделать это. Также (из комментариев) WatiN WatiR

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