最小限の Web クローラーを作成しようとしています。目的は、シードから新しい URL を発見し、これらの新しい URL をさらにクロールすることです。コードは次のとおりです。
use strict;
use warnings;
use Carp;
use Data::Dumper;
use WWW::Mechanize;
my $url = "http://foobar.com"; # example
my %links;
my $mech = WWW::Mechanize->new(autocheck => 1);
$mech->get($url);
my @cr_fronteir = $mech->find_all_links();
foreach my $links (@cr_fronteir) {
if ( $links->[0] =~ m/^http/xms ) {
$links{$links->[0]} = $links->[1];
}
}
ここで立ち往生しています。%links のリンクをさらにクロールするにはどうすればよいですか。また、オーバーフローを防ぐために深さを追加するにはどうすればよいですか。提案をお待ちしております。