我有以下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";
}
请假设我不知道任何编程。我如何调整代码,以便我可以在我的情况下使用它?在我看来,它离一个可行的剧本还有很长的路要走。非常感谢您的帮助,提前感谢。
问候,sh
在</table>
之前缺少一个闭合</tr>
:
<tr>
<td>var2</td>
<td>obs2</td>
</tr>
</table>