使用Perl Mechanize从网页中删除文本

时间:2012-04-06 11:07:33

标签: perl web-crawler

我试图仅从一个网页中搜索测试信息,该网页设置了一组div,标签等。我想只从特定的div类中提取信息,而只是从标签中的信息中提取信息。

<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">
上面的

是网页中包含的内容的片段。我获取页面内容的尝试正是按照它所说的完成,它从网页获取所有内容,我如何将其缩小到此类,并且只将标签中的文本信息缩小。

感谢

1 个答案:

答案 0 :(得分: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();