用perl脚本实现HTML解析器
我的代码没有打印任何输出<代码>$tree->find(“p”)返回空值。您没有打开该文件,或者该文件完全不可解析 尝试以下方法:用perl脚本实现HTML解析器,html,perl,parsing,html-parsing,html-tree,Html,Perl,Parsing,Html Parsing,Html Tree,我的代码没有打印任何输出$tree->find(“p”)返回空值。您没有打开该文件,或者该文件完全不可解析 尝试以下方法: #!/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_te
#!/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";
}
这样你可以检查它是哪一个
当我为sample.html提供以下内容时,您的脚本运行良好
my $file = shift(@ARGV) or die "No filename given";
$tree->parse_file($file) or die "Unable to open $file";
测试文件
标题
第一段
第二段
第三段
请确保该文件与脚本位于同一目录中,并且包含p元素。您的脚本对我来说运行良好,输出了4个p标记,即我的sample.html hadfile与sample.html位于同一目录中,并且它有标记。但是它仍然没有返回任何内容。$tree->dump
打印什么?
<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>