#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
my $url = 'http://www.datatool.co.uk/bikes1.asp';
my $url2 = 'http://www.datatool.co.uk/bikes2.asp';
open(DAT,'>',"c:\\cas.txt") || die("Cannot Open File");
my $mech = WWW::Mechanize->new();
$mech->get($url);
$mech->form(1);
my @manufacturers = grep $_, $mech->current_form->find_input( "Manufac
+turer" )->value_names;
foreach my $manufacturer ( @manufacturers ){
$mech->get($url);
$mech->submit_form(
form_number => 1,
fields => { Manufacturer => $manufacturer },
);
$mech->form(1);
my @models = grep $_ !~ /Select Model/, $mech->current_form->find_in
+put( "Model" )->value_names;
foreach my $model ( @models ){
my $mech2 = $mech->clone;
$mech2->submit_form(
form_number => 1,
fields => { Model => $model },
);
my $html = $mech2->content;
######################################################
######## This part is left as excerise to reader #####
my $stream = HTML::TokeParser->new( \$html ) || die "Couldn't read
+ HTML string: $!";
my $text = $stream->get_text('/table');
print DAT $text;
######################################################
}
}
close DAT;
|