Tuesday, 14 October 2014

Test 18: Put a keyword to google and find top 5 results

Test:
Take a keyword from STDIN and print top 5 google result for that keyword

Learning: 
get content and use regex. Google uses <b> for keywords



Solution:

use WWW::Mechanize;
use WWW::Mechanize::Link;
print "Enter the keyword\n";
chomp($key=<STDIN>);


my $m = WWW::Mechanize->new();
$m->get("http://www.google.com");

$m->submit_form(
      form_number => 1,
      fields    => { q  => $key},
  );

$m->click_button(name=>"btnG");
$c=$m->content();


(@links)=$c =~ /href.*?>(.*?)<\/a>/g;

$count=1;
foreach(@links)
{
if($_ =~ /<b>/)
{
$count++;
$_ =~ s/<b>//g;
$_ =~ s/<\/b>//g;
print $_;
print "\n\n";
if($count>5)
{
exit;
}
}
}

output snapshot:

No comments:

Post a Comment