2012-06-26 2 views
0

Я хочу загрузить информацию с сайта http://revigo.irb.hr/, которые имеют интерактивное меню. Я пытаюсь следующий Perl код после извлечения из полей формы с помощьюЗаполнение формы с использованием Perl WWW :: Mechanize :: Formfiller

perl -MWWW::Mechanize::Shell -e shell 
get http://revigo.irb.hr/ 
fillout 
... 
submit 
script 

Окончательный код выглядит следующим образом:

 use strict; 
     use WWW::Mechanize; 
     use WWW::Mechanize::FormFiller; 
     use URI::URL; 

     my @go_terms=qw/GO:0006612 GO:0045862 GO:0048545 GO:0007568 GO:0046326 GO:0051901 GO:0010524 GO:0006044 GO:0032024/; 
     my $go_string=join("\n",@go_terms); 
     my $agent = WWW::Mechanize->new(autocheck => 1); 
     my $formfiller = WWW::Mechanize::FormFiller->new(); 
     $agent->env_proxy(); 

     $agent->get('http://revigo.irb.hr/'); 
     $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; 
     $formfiller->add_filler('goList' => Fixed => $go_string); 
     $formfiller->add_filler('cutoff' => Fixed => '0.4'); 
     $formfiller->add_filler('isPValue' => Fixed => 'yes'); 
     $formfiller->add_filler('whatIsBetter' => Fixed => 'higher'); 
     $formfiller->add_filler('goSizes' => Fixed => '0'); 
     $formfiller->add_filler('measure' => Fixed => 'SIMREL'); 
     $formfiller->fill_form($agent->current_form); 

    my $request = $agent->click("startRevigo"); 
     print $request->as_string; 

Однако я получаю следующее сообщение об ошибке «POSTING Ошибка http://revigo.irb.hr/revigo.jsp : Внутренняя ошибка сервера в revigo.mechanize.pm строка 21 « Может ли кто-нибудь помочь мне решить проблему? Заранее благодарен

+0

Какая линия линии 21? – simbabque

+0

Первоначально 21-я строка содержала мой запрос $ request = $ agent-> («startRevigo»); Спасибо, проблема решена сейчас. – WoA

ответ

2

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

+0

Спасибо daxim, теперь codde работает с gosizes, установленным на 0 (значение по умолчанию) или другими подходящими значениями, которые я нашел в источнике страницы – WoA

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