2014-09-17 3 views
1

Я пишу свой первый урон в perl, и у меня есть некоторые проблемы. Я думал, что когда я отправляю форму, это всегда запрос на отправку. Но у меня есть этот сайт, на котором я хочу получить данные, и кажется, что он имеет только методы, даже если у него есть форма. Также я не знаю, как отправить форму, она имеет поля с выпадающим меню для выбора значений.Скребок с использованием www :: mechanize

Может ли кто-нибудь помочь мне с некоторыми идеями? Пока мне удалось настроить соединение с URL-адресом и получить его контент. Я застрял.

use strict; 
use warnings; 

use WWW::Mechanize; 
use Data::Dumper; 

my $homepage = 'http://bacalaureat.edu.ro//'; 
my $source; 

my $browser = WWW::Mechanize->new(); 
$browser->agent_alias('Windows Mozilla'); 
$browser->get($homepage); 

if ($browser->success()) { 
    $source = $browser->content(); 
    print "Page Source: \n\n\n" . $source . "\n\n\n"; 
} else { 
    print "Could not access $homepage! Status: " . $browser->status() . "\n"; 
} 
+0

Ваш образец кода не содержит попыток представить какие-либо формы. –

+0

Вот что я не знаю, как это сделать, я знаю, что мне нужно использовать 'submit_form', но я не знаю, как это сделать, с какими параметрами. – dres

ответ

0

Вы должны загрузить страницу с формой на ней, заполнить элементы ввода и отправить ее.

Как правило, вы загружаете его в браузере, а затем пишете код, чтобы подражать тому, что вы делаете с клавиатуры.

+0

Хорошо, и как я могу увидеть имя полей и какие значения присваиваются при отправке формы из браузера? – dres

+0

Использование опции разработки вашего браузера. Щелкните правой кнопкой мыши элемент формы и выберите «проверить». –

0

На этой странице нет тегов, и нет отправки. Эта страница просто перенаправляет вас на URL-адрес: /Pages/JudetRezultAlfa.aspx?jud=$ID есть $ID - значение selJud Поле.

Так что вам нужно только разобрать HTML (для получения значений selJud) и следующего $mech->get("http://bacalaureat.edu.ro/Pages/JudetRezultAlfa.aspx?jud=" . $ID) с помощью selJud вы хотите.

Смежные вопросы