获取网站所有页面的Perl模块?

获取网站所有页面的Perl模块?,perl,scripting,module,web-crawler,Perl,Scripting,Module,Web Crawler,有没有一个模块可以给我一个网站所有页面的链接 为什么我需要它:我想抓取一些网站并在其中搜索标签,只在主页上搜索是不够的 谢谢,您可能会发现它的用处。Perl中抓取站点的经典方法是使用links方法返回页面中所有链接的列表。您可以抓取一个页面,从中获取链接,然后使用follow_link()或get()方法获取链接页面。比。您可以查看我在my上的半心半意的尝试,其中包含一些您可能需要的代码。另一种方法是使用解析页面中的HTML。它返回一个对象树,您可以使用它从页面获取所有链接,它还可以做更多的事情

有没有一个模块可以给我一个网站所有页面的链接

为什么我需要它:我想抓取一些网站并在其中搜索标签,只在主页上搜索是不够的


谢谢,

您可能会发现它的用处。

Perl中抓取站点的经典方法是使用links方法返回页面中所有链接的列表。您可以抓取一个页面,从中获取链接,然后使用follow_link()或get()方法获取链接页面。

比。您可以查看我在my上的半心半意的尝试,其中包含一些您可能需要的代码。

另一种方法是使用解析页面中的HTML。它返回一个对象树,您可以使用它从页面获取所有链接,它还可以做更多的事情,例如根据您指定的regexp模式查找链接。查看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::Simple和HTML::TreeBuilder也包含在Ubuntu中

谢谢,我已经知道这个模块了,但是我想它的开销太大了,不能只用于这个功能