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.

我有什么东西不见了吗?(如果有人有更好的方法从表中提取表(同时打印两者的信息)

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

但根据文档,您可以使用depthcount属性来完成此操作:

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

depth:指定感兴趣的表在其他表中的嵌入方式HTML文档中的顶级表的深度为0,顶级表中的表的深度为1,依此类推

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

在您的情况下,depthcount应该都是1。

相关内容

  • 没有找到相关文章

最新更新