如何使用Perl提取HTML表数据?

时间:2009-12-21 05:50:12

标签: html perl

我需要从网页中检索一些数据。在分析了页面的HTML代码之后,我发现我需要的数据嵌入到具有唯一表id的表中。我不知道它是否是一个HTML规则,无论如何它对解析我认为非常好。

表中的数据排列如下(为了给你一个明确的“数据结构”,省略了各种属性和标签)

<table .... id = "tablename" .... >
    <tr>
         <td .... >filed1</td>
             ....
         <td .... >filedn</td>
    </tr>
         #several "trs" here
    <tr>
         <td .... >filed1</td>
             ....
         <td .... >filedn</td>
    </tr>
</table>

所以我的问题是如何在这种情况下使用Perl的HTML解析器实用程序来满足我的需求。

提前致谢。

4 个答案:

答案 0 :(得分:12)

HTML::TableExtract听起来与您正在寻找的完全一样。

答案 1 :(得分:2)

使用HTML::Table

答案 2 :(得分:-1)

The Perl Journal 中查看Ken MacFarlane的Parsing HTML with HTML::Parser。我不确定这是你所指的解析器,但看起来它可以做你想要的,或者至少指出你正确的方向。

答案 3 :(得分:-4)

您可以尝试这样的事情:

my $html = '<html code....';

$html =~ s/^.*(<table id="tablename">.*<\/table>).*/$1/s;