【发布时间】:2013-11-05 05:10:33
【问题描述】:
我正在尝试解析一个 html 文件并提取一些信息并对其进行统计。
但我的问题是,HTML::TreeBuilder 只返回 1 个结果,但我需要正则表达式捕获的所有结果。
#!/bin/perl
use strict;
use warnings;
use Data::Dumper;
use HTML::TreeBuilder;
my $tree = HTML::TreeBuilder->new();
$tree->parse_file('tester.html');
print Dumper($tree->look_down(_tag => 'table',id => qr{post[0-9]*?})->as_HTML);
$tree->delete;
tester.html:
<table id="post923076">
<tr>
<td>table1_result</td>
</tr>
</table>
<table id="post923076">
<tr>
<td>table2_result</td>
</tr>
</table>
我的结果:
$VAR1 = '<table id="post923076"><tr><td>table1_result</td></tr></table>';
有人出主意吗?
例如,我已经缩短了文件,因为该文件可以包含很多这样的表格。
【问题讨论】:
-
也许
->as_HTML只取第一个元素? look_down 返回一个数组.. 尝试转储look_down而不使用as_HTML(这样我们可以看到数组)
标签: perl html-parsing