Связанные дополнительные документы: Mojo :: DOM .
use strict;
use warnings;
use LWP::UserAgent;
use Mojo::DOM;
my $ua = LWP::UserAgent->new();
my $url = 'https://web5.uottawa.ca/rezweb/search.php';
my $formdata = [
accomodationType => 1,
maximum => 9999,
maximumOnCampus => 9999,
minimum => 0,
minimumOnCampus => 0,
"search_op[]" => 5,
"search_op[]" => 6,
"search_op[]" => 7,
"search_op[]" => 8,
"search_op[]" => 9,
"search_op[]" => 10,
"search_op[]" => 11,
srch_rental_type4 => "on",
srch_rental_type5 => "on",
submit => "Search",
zone => 0,
];
my $response = $ua->post($url, $formdata);
die "Error: ", $response->status_line, "\n"
unless $response->content;
my $dom = Mojo::DOM->new( $response->decoded_content );
my @matches = map { $_->parent->parent }
grep { $_->attrs("href") =~ /search\.php\?id=\d+/ }
$dom->find("tr > td > a")->each;
for my $row ( @matches ) {
print $row->all_text, $/;
}
__END__
157 Laurier Ave E 1 Hyman Soloway Sublet 1 bedroom 0400 01/08/2011
75 Louis Pasteur Pvt 1 Brooks Sublet 1 bedroom 0650 01/08/2011
75 Louis Pasteur Pvt 1 Brooks Sublet 1 bedroom 0750 25/07/2011
Я пришел к списку параметров POST, отключив JS - их сайт использует его для улучшения - и изучив запрос,Хотя это решение работает, оно хрупкое.Убедитесь, что вы не нарушаете ToS сайта и не злоупотребляете формой, забивая его.