Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
html-parse-links1.pl
#!/usr/local/bin/perl -w
# html-parse-links1.pl -- Links aus einer HTML-Datei extrahieren
# mit HTML::LinkExtor und Callback-Funktion.
use HTML::LinkExtor;
my $p = HTML::LinkExtor->new(\&callback); # Erzeuge einen Parser.
$p->parse_file($ARGV[0]); # Name der zu parsenden Datei
# auf der Kommandozeile.
print "<a>-Links :\n", join("\n", @alinks), "\n";
print "<img>-Links:\n", join("\n", @pics), "\n";
print "Other Links:\n", join("\n", @others), "\n";
# Diese Callback-Funktion callback() wird jedesmal aufgerufen,
# wenn die HTML::LinkExtor()-Instanz $p einen Link-Tag gefunden hat.
# Bei <tagname attr1=url1 attr2=url2>
# wird in @_ uebergeben: (tagname, attr1 => url1, attr2 => url2)
# Beachte, dass bei Bedarf tagname und attr1, attr2 in Kleinbuchstaben
# konvertiert werden, bevor callback() aufgerufen wird!
sub callback {
my ($tag, %links) = @_;
# Je nach Typ der Links unterschiedlich reagieren:
if ($tag eq 'a') {
# Ein <a>-Link:
push(@alinks, values %links);
} elsif ($tag eq 'img') {
# Ein <img>-Link:
push(@pics, values %links);
} else {
# Ein anderer Typ von Links:
push(@others, values %links);
}
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:48 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|