【发布时间】:2013-03-12 13:05:42
【问题描述】:
我有以下 html,我想提取信息并将它们重塑为类似表格的数据库:
<tr some parameters here>
<td more parameters here></div>
<div even more para>Var1</td>
<td params>observation 1</td>
<td params></td>
</tr>
<tr some parameters here>
<td more parameters here></div>
<div even more para>Var2</td>
<td params>observation 2</td>
<td params></td>
</tr>
var3 obs 3、var4 obs4 以此类推。
有人建议我使用Mojo::DOM 并给出以下高度结构化的代码:
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
use lib './lib/lib/perl64';
use Mojo::DOM;
my $html = q(
<html>
<head><title>Some list</title>
</head>
<body>
<div>
<table>
<tr>
<td>Var1</td>
<td>Obs1</td>
</tr>
<tr>
<td>var2</td>
<td>obs2</td>
</table>
</div>
</body>
</html>
);
my $dom = Mojo::DOM->new($html);
my $table = $dom->at('table');
for my $record ($table->children('tr')->each) {
my %record = map { $_->text } $record->children('td')->each;
print Dumper(\%record), "\n";
}
请假设我不懂任何编程。我将如何调整代码以便我可以在我的情况下使用它?在我看来,它离成为一个可行的脚本还很远。非常感谢您的帮助和提前感谢。
问候,嘘
【问题讨论】:
-
你有什么问题?它不是编译/运行吗?是不是没有返回你想要的结果?
-
嗨,富士,我得到的代码在代码中定义的简单 html 下运行良好。但是,它返回定义子项的
odd number of elements in hash assignment at xxx.plx line 42。从我的角度来看,基本 html 案例和真正的 html 之间的区别在于 1)对于每个变量,它都有一个标签而不是标签(对不起,太天真了)2)有其他一些我不想解析的 ,但它似乎不是一个大问题。
标签: perl dom mojolicious mojo