我想寫一個最小的網絡爬蟲。其目的是從種子中發現新的URL並進一步抓取這些新的URL。代碼如下:遞歸網絡爬蟲perl
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];
}
}
我在這裏卡住了,我怎麼可能再繼續爬進去%鏈路相連,並且還,我怎麼增加深度,以防止溢出。建議表示讚賞。
/M,/ s和/ X標誌:各種Perl的風格指南建議對每一個正則表達式將這些。/ms改變了一些新手不友好的正則表達式行爲,而/ x只是非常有用;-)我也總是用這三個標誌註釋我的正則表達式,直接需要或不需要。 –