Я хочу загрузить информацию с сайта 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 « Может ли кто-нибудь помочь мне решить проблему? Заранее благодарен
Какая линия линии 21? – simbabque
Первоначально 21-я строка содержала мой запрос $ request = $ agent-> («startRevigo»); Спасибо, проблема решена сейчас. – WoA