2009-12-21 4 views
3

Je dois récupérer certaines données d'une page Web. Après avoir analysé le code HTML de la page, j'ai trouvé que les données dont j'ai besoin sont incorporées dans une table avec un identifiant de table unique. Je ne sais pas si c'est une règle HTML ou non, de toute façon c'est très bien pour l'analyse je pense.Comment puis-je extraire des données de tableau HTML en utilisant Perl?

Les données du tableau est disposé comme ci-dessous (divers attributs et balises ont été omis afin de vous donner une « structure de données » claire)

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

Alors ma question est de savoir comment utiliser l'analyseur HTML de Perl utilitaire pour répondre à mes besoins dans ce cas.

Merci d'avance.

Répondre

-1

Regardez le Parsing HTML with HTML::Parser de Ken MacFarlane dans Le journal Perl. Je ne sais pas si c'est l'analyseur dont vous parlez, mais on dirait qu'il peut faire ce que vous voulez, ou du moins vous orienter dans la bonne direction.

+0

Vous ne devriez pas avoir besoin de descendre dans HTML :: Parser pour cela. Il y a beaucoup d'outils construits dessus qui devraient être capables de gérer le travail. –

-4

Vous pouvez essayer quelque chose comme ceci:

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 –

Questions connexes