#javascript #asp.net #perl #web-crawler
#javascript #asp.net #perl #веб-сканер
Вопрос:
Мне нравится извлекать и сохранять значения HTML-таблицы с веб-сайта, который использует некоторый Javascript и имеет URL, заканчивающийся на .aspx
, путем написания веб-сканера на Perl.
Веб-сайт предоставляет некоторые данные о результатах выборов.
У вас есть форма поиска с двумя вариантами в виде выпадающих меню: провинция provlist
и город / муниципалитет munlist
.
- Вы выбираете провинцию. Веб-страница перезагружается на тот же URL и изменяет список доступных опций второго выпадающего меню, т.е. Город / Муниципалитет.
- Теперь вы можете выбрать свой город / муниципалитет, и после нажатия кнопки SEARCH станет видна HTML-таблица с результатами.
Мне нравится извлекать все эти таблицы и их результаты.
Мне нравится делать это с помощью Perl, однако до сих пор я писал только очень маленькие / простые скрипты. Было бы очень полезно, если бы у вас была какая-то общая информация о том, как мне следует приступить к выполнению этой задачи.
- Я уже использовал некоторые из
WWW::Mechanize
функций раньше, правда, лишь некоторые. Могу ли я выполнить эту работу сWWW::Mechanize
функциями, достаточно ли этих функций? Или мне нужны дополнительные пакеты? -
В часто задаваемых вопросах для
WWW::Mechanize
указано, что у него есть некоторые проблемы с Javascript. Однако в другом сообщении, которое я прочитал, возможно, удастся избежать этого Javascript. Вызывает ли проблему вызываемая функция Javascript для одного из выпадающих меню?<select name="provlist" onchange="javascript:setTimeout('__doPostBack('provlist','')', 0)" id="provlist" tabindex="1">
-
Насколько сложен фреймворк ASPX?
Как я уже говорил ранее, у меня лишь небольшой опыт написания обходчиков Perl, поэтому я высоко ценю любую информацию / подсказки / и т.д., Которые вы можете предоставить.
Ответ №1:
- Этого достаточно.
- Форма нормально ухудшается без Javascript. Отправьте форму один раз с другим
provlist
элементом, например, АГУСАН-ДЕЛЬ-НОРТЕ, и на странице ответа появится соответствующийmunlist
(BUENAVISTA и т.д.), И форма будет установлена на первый элемент списка, а в таблице будут данные для первого элемента.
Комментарии:
1. у меня были некоторые проблемы с определением порядка работы с функциями forms (), но теперь это работает безупречно! Спасибо!
Ответ №2:
В часто задаваемых вопросах по WWW::Mechanize говорится, что у него есть некоторые проблемы с Javascript. Однако в другом сообщении, которое я прочитал, возможно, удастся избежать этого Javascript. Вызывает ли проблему вызываемая функция Javascript для одного из выпадающих меню?
Если вы хотите механизировать тяжелые страницы на JS, вы, вероятно, захотите взглянуть на WWW::Mechanize::Firefox