Thread html parsen
(7 answers)
Opened by Froschpopo at 2008-07-22 10:01
ich suche eine Möglichkeit mit HTML::Parser den Inhalt von <div class="p">...</div> zu extrahieren.
Also quasi: Code: (dl
)
1 <div class="p">diesen Text brauche ich!</div> Wie kann ich HTML::Parser auf class="p" abrichten? Ich hab auch schon ins Wiki geschaut, aber die Beispiele dort sind mir nicht wirklich schlüssig. Hier mal ein Anfang: Code (perl): (dl
)
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 #!/usr/bin/perl use strict; use warnings; use HTML::Parser; my @found = (); my $p = HTML::Parser->new( start_h => [\&start, 'self,tagname,attr'], end_h => [\&end, 'self,tagname'], text_h => [\&text, 'self,dtext'] ); chdir("c:/users/frosch/documents/schulen/"); $p->parse_file("bw.html"); sub start { my ($self, $tagname, $attr) = @_; $self->{'div'} = 1 if $tagname eq 'div'; } sub end { my ($self, $tagname) = @_; } sub text { my ($self, $dtext) = @_; $dtext =~ s/\n\r//; push @found, $dtext; } for (@found) { print $_,"\n"; } print $#found," Ergebnisse.\n"; Wie sage ich dem Parser, dass er jetzt nur auf class="p"> reagieren soll? |