perl从网页分析出英文单词

perl从网页分析出英文单词,第1张

概述 1 #!/usr/bin/perl  2 use Inline CPP;  3 package MyParser;  4 use base "HTML::Parser";  5  6 my $src='src.htm';  7 my $allow=0;  8 my %hashwords;  9 my @arraywords; 10 11 sub trim 12 { 13         my $

 1 #!/usr/bin/perl
 2 use Inline CPP;
 3 package MyParser;
 4 use base "HTML::Parser";
 5
 6 my $src='src.htm';
 7 my $allow=0;
 8 my %hashwords;
 9 my @arraywords;
10
11 sub trim
12 {
13         my $str = $_[0];
14         $str =~ s/^/s+//o;
15         $str =~ s//s+$//o;
16         return $str;
17 }
18
19 sub start
20 {
21         my ($self,$tagname,$attr,$attrseq,$text) = @_;
22         if($tagname eq 'script' or $tagname eq 'a')
23         {
24                 $allow=0;
25         }
26         else
27         {
28                 $allow=1;
29         }
30 }
31
32 sub text
33 {
34         my ($self,$text) =@_;
35         $text=trim($text);
36         if($allow and $text)
37         {
38                 my @words=split(/[/s,/./)/(/':;/"]+/o,$text);
39                 foreach my $word(@words)
40                 {
41                         $word=lc($word);
42                         if($word=~m/^[a-z]+$/o)
43                         {
44                                 if(not exists %hashwords->{$word})
45                                 {
46                                         %hashwords->{$word}=0;
47                                         push(@arraywords,$word);
48                                 }
49                         }
50                 }
51         }
52 }
53
54 %hashwords=();
55 my $p = MyParser->new;
56 $p->parse_file($src);
57 @arraywords=sort(@arraywords);
58 foreach my $word(@arraywords)
59 {
60         print "$word/n";
61 }
62

总结

以上是内存溢出为你收集整理的perl从网页析出英文单词全部内容,希望文章能够帮你解决perl从网页分析出英文单词所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1290655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存