我试图解析HTML文档并提取网址,但无法弄清楚如何获得'a'标签的href值。如果有帮助,我正在关注此文档:http://perl.active-venture.com/lib/HTML/TokeParser.html使用Perl的TokeParser从标签中提取URL
此问题位于第三个'elsif'代码块内。
sub findTokens {
my $htmlFileName = $_[0];
my $pagesDir = $_[1];
my %titles = %{$_[2]};
my %mapping = %{$_[3]};
my @outLinks;
my $p = HTML::TokeParser->new("$pagesDir$htmlFileName")
or die("Can't open $htmlFileName: \n");
my @tokens;
my $url = $mapping{$htmlFileName};
while (my $newChunk = $p->get_token) {
if ($newChunk->[0] eq 'T') {
my @lineArray = split(' ', $newChunk->[1]);
foreach my $i (@lineArray) {
if (lc($i) =~ /^[a-z]*\-?\'?s?$/) {
push(@tokens, lc($i));
}
}
} elsif ($newChunk->[0] eq 'S') {
if ($newChunk->[1] eq 'title') {
$newChunk = $p->get_token;
$titles{$url} = $newChunk->[1];
#print $url;
#print $titles{$url};
}
} elsif ($newChunk->[0] eq 'S') {
if ($newChunk->[1] eq 'a') {
my %attr = %{$newChunk->[2]};
push(@outLinks, $attr{'href'});
}
}
}
return (\@tokens, \%titles, \@outLinks);
}
既然你贴有“J/K固定它大声笑我爱AMBIGIOUS文档”作为回答,我投票关闭这个太现已本地化。 –
如果您打算链接到Perl模块,请使用http://search.cpan.org/ http://metacpan.org或http://p3rl.org链接。 (如果Perl自带的话,你甚至可以使用http://perldoc.perl.org链接。) –