2010-09-06 84 views

回答

5

在Perl中检索网站的经典方法是使用WWW::Mechanize,它具有链接方法,该方法返回页面中所有链接的列表。您可以抓取页面,从中获取链接,然后使用follow_link()或get()方法获取链接的页面。

+0

谢谢,我已经知道该模块,但它太多(?)的开销,只能用于此功能我猜 – snoofkin 2010-09-07 04:41:18

1

另一种方法是使用HTML::TreeBuilder解析页面中的HTML。它返回一个对象树,您可以使用它来抓取页面中的所有链接,并且可以做更多的事情,例如根据您指定的正则表达式模式查找链接。查看HTML :: Element的文档以查看更多内容。

要查找所有在一个页面的链接:

use HTML::TreeBuilder; 
use LWP::Simple; 

my $url = 'http://www.example.com/'; 
my $html = HTML::TreeBuilder->new_from_content(get($url)); 

my @links = $html->look_down('_tag' => 'a'); 

我相信LWP ::简单HTML :: TreeBuilder作为都包含在Ubuntu的为好。

相关问题