2012-04-06 59 views
1

我想從僅使用一組div,標籤等設置的網頁中刮擦測試信息我只想從特定的div類中提取信息,並且只有標籤內的信息。使用Perl機械化從網頁中去除文本

<div class="col col60 moduledetail"><table cellspacing="2" cellpadding="0" border="0" id="moduleDetail"><tr><th class="moduleCode">test<small>CRN: 33413</small></th><th>test</th></tr><tr><td class="label"><nobr>Campus</nobr></td><td><a target="_blank" href="test/">test</a></td></tr><tr><td class="label"> 

上面是網頁中所包含內容的片段。我試圖獲取頁面內容是完全按照它說的,它從網頁獲取所有內容,我怎樣才能縮小這個範圍,並且只有標籤內的文本信息。

謝謝

回答

3

使用HTML解析器。以下是使用HTML::TreeBuilder的示例:

use WWW::Mechanize; 
use HTML::TreeBuilder; 

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

my $tree = HTML::TreeBuilder->new_from_content($mech->content); 

if (my $div = $tree->look_down(_tag => "div", class => "col col60 moduledetail")) { 
    print $div->as_text(), "\n"; 
} 
$tree->delete();