perl脚本的HTML解析器

时间:2012-11-05 14:36:16

标签: html perl parsing html-parsing html-tree

#!/usr/bin/perl

use HTML::TreeBuilder;

my $tree = HTML::TreeBuilder->new; 

$tree->parse_file("sample.html");

foreach my $anchor ($tree->find("p")) {

  print $anchor->as_text, "\n";

}

我的代码没有打印任何输出。 $tree->find("p")返回NULL。

1 个答案:

答案 0 :(得分:0)

您没有打开文件,或者它完全无法解析。

尝试类似:

my $file = shift(@ARGV) or die "No filename given";
$tree->parse_file($file) or die "Unable to open $file";

这样你可以检查它是什么。

当我为sample.html提供以下内容时,您的脚本运行正常

<html>
<head><title>test file</title></head>
<body>
    <h1>Title</h1>
    <p>First para</p>
    <p>Second para</p>
    <div>
        <P>Third para</P>
    </div>
</body>
</html>