HTML :: TableExtract,表格内有一个表格

时间:2013-07-31 03:27:43

标签: perl html-tableextract

我有一个小脚本,用于操纵远程URL中的代码(代码是独立的)。 HTML :: TableExtract的手册页包含以下代码部分,用于执行表中提取,即

$te = new HTML::TableExtract
      (
       headers => [qw(Summary Region)],
       chain   => [
                   { depth => 0, count => 2 },
                   { headers => [qw(Part Qty Cost)] }
                  ],
      );

我的代码包含此内容,即:

use HTML::TableExtract;
use strict;
use warnings;

my $te = new HTML::TableExtract
      (
       headers => [qw(Incident Date Time Location Description)],
       chain   => [
                   { depth => 0, count => 2 },
                   { headers => [qw(Unit DIS ENR ONS LEF ARR BUS REM COM)] }
                  ],
      );

$te->parse_file('data.html');

然而,运行它给了我:

Can't locate object method "chain" via package "HTML::TableExtract" at /usr/lib/perl5/HTML/Parser.pm line 80.

有什么我想念的吗? (如果有人有更好的方法从表中提取表格(同时打印来自两个人的信息)

1 个答案:

答案 0 :(得分:1)

我在chain的{​​{3}}中没有看到任何关于HTML::TableExtract方法的文档。也许您使用的是过期版本?

但根据该文档,您可以使用depthcount属性执行此操作:

$te = HTML::TableExtract->new( 
                              headers => [qw(Unit DIS ENR ONS LEF ARR BUS REM COM)], 
                              depth => 1, 
                              count => 1 
                             );
$te->parse($html_string);
  

深度:指定如何在您感兴趣的表格中嵌入其他表格   应该。 HTML文档中的顶级表的深度为0,   顶级表中的表的深度为1,依此类推。

     

count:指定您感兴趣的每个深度中的哪个表,   从0开始。

在您的情况下,depthcount应为1。