如何使用WWW :: Mechanize和Perl从网页获取链接

时间:2014-03-14 14:55:49

标签: perl

我是Perl的新手,并尝试获取以http://开头的网站上的所有链接,到目前为止,我编写的代码返回十六进制的值。我想看看它返回的实际链接。我在下面发布了我的代码,将非常感谢任何和所有输入。

use strict;

use WWW::Mechanize;

my $mech = WWW::Mechanize->new();

my $url = "http://search.cpan.org";

$mech->get($url);

my @foundLinks = $mech->find_all_links();
print @foundLinks; 

2 个答案:

答案 0 :(得分:5)

来自documentation

  

$ mech-> find_all_links(...)

     

返回当前页面上符合条件的所有链接。指定链接标准的方法与“find_link()”中的相同。 返回的每个链接都是WWW :: Mechanize :: Link对象。

要打印链接,请使用url方法WWW::Mechanize::Link

my @foundLinks = $mech->find_all_links();
print $_->url for @foundLinks;

答案 1 :(得分:3)

find_all_links的返回值是一个WWW :: Mechanize :: Link对象,所以你可以这样做

 print map {$_->url} @foundlinks;