2009-12-21 52 views
3

我需要從網頁中檢索一些數據。在分析了頁面的HTML代碼之後,我發現我需要的數據被嵌入到具有唯一表ID的表格中。我不知道它是否是一個HTML規則,無論如何,它是非常好的解析我認爲。如何使用Perl提取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解析器實用程序來滿足我在這種情況下的需求。

在此先感謝。

回答

-1

看看Ken MacFarlane的Parsing HTML with HTML::ParserThe Perl Journal。我不確定這是否是您所指的解析器,但看起來它可以做你想做的事情,或者至少讓你指向正確的方向。

+0

您不應該爲此而涉及到HTML :: Parser。在它之上建立了許多工具,應該能夠處理這項工作。 – 2009-12-23 02:15:42

-4

你可以嘗試這樣的事情:

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

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

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2009-12-21 12:50:34