extraction de données avec HTML::Parser
Bonjour,
Dans le code si dessous, je voudrais extraire chaque "id" d'une balise td ayant la classe alt1Active avec le forum title (entouré d'une balise strong)
Code:
1 2 3 4 5 6 7 8 9
|
<td class="alt1Active" align="right" id="f91">
<div>
<a href="forumdisplay.php?f=91"><strong>forum title</strong></a>
</div>
<div class="smallfont">sub-forum title</div>
</td> |
J'ai utilisé ce code pour réaliser le travail ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/usr/bin/perl
use strict;
#use warnings;
use HTML::Parser;
my $page = "C:/vb.html";
# création de mon parser
my $parser = HTML::Parser->new();
# définition des mes evenements
$parser->handler( text => \&text, "text" );
$parser->handler( start => \&start, "tagname,attr" );
$parser->handler( end => \&end, "tagname" );
$parser->parse_file($page);
my $i= 0;
my $nbre= 0;
sub start {
my ($tag, $attr) = @_;
if ($tag eq 'td' and $attr->{class} eq 'alt1Active' )
{
$i= 1;
}
}
sub end {
my ($tag) = @_;
}
sub text {
my ($text) = @_;
if($i==1){
$nbre++;
print "$nbre\n";
print "$text\n";
$i=0;
}
#print "$text\n";
#push @data, $text
# if $in_span_textegras;
} |
le code fonctionne, mais , il me retourne que le texte entre chaque balise td ayant la class alt1Active
comment faire pour charger le texte du balise strong à l'interieur de la balise td en question .... ?
Merci 8-)