我有一个小脚本,用于操纵远程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.
有什么我想念的吗? (如果有人有更好的方法从表中提取表格(同时打印来自两个人的信息)
答案 0 :(得分:1)
我在chain
的{{3}}中没有看到任何关于HTML::TableExtract
方法的文档。也许您使用的是过期版本?
但根据该文档,您可以使用depth
和count
属性执行此操作:
$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开始。
在您的情况下,depth
和count
应为1。