2010-09-06 40 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的爲好。