如何解析以下HTML?

时间:2013-03-22 15:40:31

标签: perl dom mojolicious mojo

我有以下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";
}

请假设我不知道任何编程。我将如何调整代码,以便我可以在我的情况下使用它?在我看来它仍然是一个可行的脚本相当远。真的很感激你的帮助和thx提前。

问候,sh

1 个答案:

答案 0 :(得分:1)

</tr>

之前缺少结束</table>
  <tr>
    <td>var2</td>
    <td>obs2</td>
  </tr>
</table>