|文章出处:http://hi.baidu.com/_wang8

基于Simhash的应用模板识别Perl demo

对于同一应用模板生成不同的url,url可能的pathdir、filename、arguments的一项或者几项可能不同。同时
web页面的展示一眼看过去也差别较大。在url聚类的需求场合,需要能自动识别web/url的相似度。

这里是利用simhash算法,通过对web页面的一些token的value进行统计分析。来综合判断两条url间的是
否为同一应用模板生成,也为web相似度。理论上,由同一模板生成的页面在token的数量、顺序、值上会存
在一定的规律

#!/usr/bin/perl

#Compare the similarity of two pages

#http://hi.baidu.com/_wang8

#2011.04.23

#use warnings;

#use strict;

use HTML::TokeParser;

use LWP::Simple;

#use Data::Dumper;

use URI;

use URI::Split qw(uri_split uri_join);

sub GetUrl

{

my $url = shift;

if($url !~ /^http/)

{

print "warning:error format url.\n";

next;

}

my $content = LWP::Simple::get($url) or die "cannot request the url:$url\n";

utf8::decode($content);

return $content;

}

sub GetToken

{

my $content = shift;

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。