我想遍历网页上的所有链接,所以我尝试了
#!/usr/bin/perl
use WWW::Mechanize;
my $url = "http://www.google.com";
my $m = WWW::Mechanize->new();
$m->get($url);
my @links = $m->find_all_links(url_regex => qr/google/);
foreach my $link (@links){
print Dumper $m->get($link->url_abs);
}
这给了我,例如
$VAR11 = bless( [
'http://www.google.com/ncr',
'Google.com in English',
undef,
'a',
$VAR1->[4],
{
'href' => 'http://www.google.com/ncr',
'class' => 'gl nobr'
}
], 'WWW::Mechanize::Link' );
问题
如何仅输出链接?
答案 0 :(得分:6)
文档指出链接以WWW::Mechanize::Link
个对象的形式返回。因此:
my @links = $m->find_all_links(url_regex => qr/google/);
print $_->url, "\n" for @links;