CN106407485A - 一种基于相似度比较的url去重方法和系统 - Google Patents
一种基于相似度比较的url去重方法和系统 Download PDFInfo
- Publication number
- CN106407485A CN106407485A CN201611182696.XA CN201611182696A CN106407485A CN 106407485 A CN106407485 A CN 106407485A CN 201611182696 A CN201611182696 A CN 201611182696A CN 106407485 A CN106407485 A CN 106407485A
- Authority
- CN
- China
- Prior art keywords
- url
- feature
- bloom filter
- similarity
- rough set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 230000000875 corresponding Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 12
- 238000003754 machining Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 241000270322 Lepidosauria Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 1
- 229950008597 drug INN Drugs 0.000 description 1
- 230000003203 everyday Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Abstract
本发明的一种基于相似度比较的URL去重方法和系统,通过导入URL并提取URL的特征,将URL特征与布隆过滤器进行比对,如果查询到布隆过滤器中存储有该URL特征对应的特征,则过滤该URL,所述URL特征包括一种以上的特征,代替了现有技术中的哈希函数,可以匹配更准确的URL网页数据。通过相似度比较并过滤可以快速、准确解决网页页面重复或相似的重复爬行或扫描工作,可以提高爬虫以及扫描的有效性和效率。
Description
技术领域
本发明涉及一种网络信息排序技术,具体地说涉及一种基于相似度比较的URL去重方法和系统。
背景技术
随着互联网信息爆炸式增长,每一天互联网中的数据都呈现几何式的堆加。用户需要的信息往往会淹没于大量无关信息中,利用搜索引擎获取感兴趣的信息已经成为人们获取信息较为便捷的方式。作为搜索引擎的基础构件之一的网络爬虫,需要从互联网上搜集信息,为用户提供数据来源。搜索结果是否丰富、获得的信息是否没有重合,均与网络爬虫的效率紧密相关。海量的数据对网络爬虫的设计与实现提出了更高的要求,构建分布式网络爬虫系统是一个有效的解决方案。相应地,作为网络爬虫核心关键技术的URL(统一资源定位符)排重方法对爬虫系统的性能影响尤为重要。
目前已有的URL去重方法主要有基于内存的去重和基于数据库的去重。在基于内存的URL去重方式中,爬虫将系统URL全部放在内存中,并使用一个易于查找的数据结构(如哈希表)进行维护,由于哈希函数仅是将任意长度的二进制值映射为固定长度的较小二进制的一个简单换算,而URL所包含网页内容较多时,仅凭哈希值可能有较大误差。
发明内容
为此,本发明所要解决的技术问题在于现有技术中采用哈希函数的布隆过滤器去重存在较大误差,去重效率低。
为解决上述技术问题,本发明所采用的技术方案:
一种基于相似度比较的URL去重方法,包含以下步骤:
S1:导入URL;
S2:提取URL所包含的URL特征,所述URL特征包含URL站点特征;
S3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;
S4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则进行S5步骤;若无,则进行S6步骤;
S5:查询到相似的特征,将所述URL过滤;
S6:未查询到相似的特征,将所述特征存储到布隆过滤器。
所述URL特征还包含URL目录深度特征。
所述URL特征还包含URL一级目录特征。
所述URL特征还包含URL尾页特征。
步骤S4中将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。
一种基于相似度比较的URL去重系统,包含以下模块:
接收模块:导入URL;
提取模块:提取URL所包含的URL特征,所述URL特征包含URL站点特征;
布隆过滤器模块:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;
特征比对模块:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则转入过滤模块;若无,则转入更新模块;
过滤模块:查询到相似的特征,将所述URL过滤;
更新模块:未查询到相似的特征,将所述特征存储到布隆过滤器。
所述URL特征还包含URL目录深度特征。
所述URL特征还包含URL一级目录特征。
所述URL特征还包含URL尾页特征。
特征比对模块将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。
本发明的上述技术方案相比现有技术具有以下优点。
本发明的一种基于相似度比较的URL去重方法和系统,通过导入URL并提取URL的特征,将URL特征与布隆过滤器进行比对,如果查询到布隆过滤器中存储有该URL特征对应的特征,则过滤该URL,所述URL特征包括一种以上的特征,代替了现有技术中的哈希函数,可以匹配更准确的URL网页数据。通过相似度比较并过滤可以快速、准确解决网页页面重复或相似的重复爬行或扫描工作,可以提高爬虫以及扫描的有效性和效率。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中,
图1为本发明一种基于相似度比较的URL去重方法的流程图;
图2为本发明一种基于相似度比较的URL去重系统的结构框图。
图中附图标记表示为:1-接收模块;2-提取模块;3-布隆过滤器模块;4-特征比对模块;5-过滤模块;6-更新模块。
具体实施方式
一种基于相似度比较的URL去重方法,包含以下步骤:
S1:导入URL。建立存放URL的数据库URL_DB,一条记录即以字符串方式存放的URL,其格式为:url = u1/u2/u3/…/un,n ≥ 1。
S2:提取URL所包含的URL特征,所述URL特征包含URL站点特征。提取URL中的站点字符节u1。用MD5算法分别计算该URL的各个字符节的特征值。即输入站点字符节u1,输出URL站点特征值m1每个特征值为128位唯一的二进制数字。
S3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应。将URL特征的特征值,如m1做模N操作,得到其在布隆过滤器中对应的bit位信息。所述布隆过滤器在内存建立。针对采集URL数量的不同,在保证冲突率的基础上,确定布隆过滤器和模N的大小,用于URL排重的布隆过滤器构建如下:
(1)通过数据规模及期望的误判率计算所需的内存大小:
用户输入需要排重的URL的数据量k,以及期望的误判率P,这也是构建布隆过滤器需要用户输入的仅有的两个参数。通过公式计算所需内存的大小M bit:
(2)根据M值确定模N操作的N值大小:
S4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,例如将m1做模N操作,得到其在布隆过滤器中对应的bit位信息,并查询布隆过滤器中站点特征值对应的bit位,两者bit位的值是否均为1,若是则认为是具有相似特征。查询是否有相似特征,若有,则进行S5步骤;若无,则进行S6步骤。
S5:查询到相似的特征,则认为该URL已经在数据库URL_DB中,将所述URL过滤。
S6:未查询到相似的特征,即若有任意一个URL特征的值为0;则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的bit位置为1。将所述URL特征存储到布隆过滤器。
所述URL特征还包含URL目录深度特征,值为n。
所述URL特征还包含URL一级目录特征,值为m2。
所述URL特征还包含URL尾页特征,值为mn。
步骤S4中将提取到的URL特征(n、m1、m2、mn)分别做换算(模N)操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征,认为该URL已经在数据库URL_DB中,将其废弃。若有任一URL特征的值为0,则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的4个bit位信息为1。还可以定义和增加更多的URL特征,并在方法的实现中选择使用其中的特征来识别URL。
本发明所述的一种基于相似度比较的URL去重方法结合了URL的结构特征及传统布隆过滤器的结构特征,提取URL具有代表性的多个特征属性,通过这些属性来代表相似的URL,并用这些不同的特征计算出特征值来映射布隆过滤器中的对应位,代替了布隆过滤器中所需的多个哈希函数。
一种基于相似度比较的URL去重系统,如图2所示,包含以下模块:
接收模块1:导入URL。建立存放URL的数据库URL_DB,一条记录即以字符串方式存放的URL,其格式为:url = u1/u2/u3/…/un,n ≥ 1。
提取模块2:提取URL所包含的URL特征,所述URL特征包含URL站点特征。提取URL中的站点字符节u1。用MD5算法分别计算该URL的各个字符节的特征值。即输入站点字符节u1,输出URL站点特征值m1每个特征值为128位唯一的二进制数字。
布隆过滤器模块3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应。将URL特征的特征值,如m1做模N操作,得到其在布隆过滤器中对应的bit位信息。所述布隆过滤器在内存建立。针对采集URL数量的不同,在保证冲突率的基础上,确定布隆过滤器和模N的大小,用于URL排重的布隆过滤器构建如下:
(1)通过数据规模及期望的误判率计算所需的内存大小:
用户输入需要排重的URL的数据量k,以及期望的误判率P,这也是构建布隆过滤器需要用户输入的仅有的两个参数。通过公式计算所需内存的大小M bit:
(2)根据M值确定模N操作的N值大小:
特征比对模块4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,例如将m1做模N操作,得到其在布隆过滤器中对应的bit位信息,并查询布隆过滤器中站点特征值对应的bit位,两者bit位的值是否均为1,若是则认为是具有相似特征。查询是否有相似特征,若有,则转入过滤模块;若无,则转入更新模块。
过滤模块5:查询到相似的特征,则认为该URL已经在数据库URL_DB中,将所述URL过滤。
更新模块6:未查询到相似的特征,即若有任意一个URL特征的值为0;则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的bit位置为1。将所述URL特征存储到布隆过滤器。
所述URL特征还包含URL目录深度特征,值为n。
所述URL特征还包含URL一级目录特征,值为m2。
所述URL特征还包含URL尾页特征,值为mn。
特征比对模块4将提取到的URL特征(n、m1、m2、mn)分别做换算(模N)操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征,认为该URL已经在数据库URL_DB中,将其废弃。若有任一URL特征的值为0,则认为URL_DB中不存在该URL,将其存入URL_DB中,并将布隆过滤器中对应的4个bit位信息为1。还可以定义和增加更多的URL特征,并在方法的实现中选择使用其中的特征来识别URL。
本发明所述的一种基于相似度比较的URL去重系统结合了URL的结构特征及传统布隆过滤器的结构特征,提取URL具有代表性的多个特征属性,通过这些属性来代表相似的URL,并用这些不同的特征计算出特征值来映射布隆过滤器中的对应位,代替了布隆过滤器中所需的多个哈希函数。
本发明的一种基于相似度比较的URL去重方法和系统,通过导入URL并提取URL的特征,将URL特征与布隆过滤器进行比对,如果查询到布隆过滤器中存储有该URL特征对应的特征,则过滤该URL,所述URL特征包括一种以上的特征,代替了现有技术中的哈希函数,可以匹配更准确的URL网页数据。通过相似度比较并过滤可以快速、准确解决网页页面重复或相似的重复爬行或扫描工作,可以提高爬虫以及扫描的有效性和效率。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种基于相似度比较的URL去重方法,其特征在于,包含以下步骤:
S1:导入URL;
S2:提取URL所包含的URL特征,所述URL特征包含URL站点特征;
S3:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;
S4:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则进行S5步骤;若无,则进行S6步骤;
S5:查询到相似的特征,将所述URL过滤;
S6:未查询到相似的特征,将所述特征存储到布隆过滤器。
2.根据权利要求1所述的一种基于相似度比较的URL去重方法,其特征在于,所述URL特征还包含URL目录深度特征。
3.根据权利要求1或2所述的一种基于相似度比较的URL去重方法,其特征在于,所述URL特征还包含URL一级目录特征。
4.根据权利要求2或3所述的一种基于相似度比较的URL去重方法,其特征在于,所述URL特征还包含URL尾页特征。
5.根据权利要求2-4任一所述一种基于相似度比较的URL去重方法,其特征在于,步骤S4中将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。
6.一种基于相似度比较的URL去重系统,其特征在于,包含以下模块:
接收模块:导入URL;
提取模块:提取URL所包含的URL特征,所述URL特征包含URL站点特征;
布隆过滤器模块:将提取到的URL特征查询布隆过滤器,所述布隆过滤器的特征类型与所述URL特征的类型对应;
特征比对模块:将提取到的URL特征与布隆过滤器中存储的特征进行比对,查询是否有相似特征,若有,则转入过滤模块;若无,则转入更新模块;
过滤模块:查询到相似的特征,将所述URL过滤;
更新模块:未查询到相似的特征,将所述特征存储到布隆过滤器。
7.根据权利要求6所述的一种基于相似度比较的URL去重系统,其特征在于,所述URL特征还包含URL目录深度特征。
8.根据权利要求6或7所述的一种基于相似度比较的URL去重系统,其特征在于,所述URL特征还包含URL一级目录特征。
9.根据权利要求7或8所述的一种基于相似度比较的URL去重系统,其特征在于,所述URL特征还包含URL尾页特征。
10.根据权利要求7-9任一所述一种基于相似度比较的URL去重系统,其特征在于,特征比对模块将提取到的URL特征分别做换算操作,得到其在布隆过滤器中对应的bit位信息,查询布隆过滤器中对应类型的特征的bit位信息,若二者均为1,则认为二者为相似特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611182696.XA CN106407485B (zh) | 2016-12-20 | 2016-12-20 | 一种基于相似度比较的url去重方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611182696.XA CN106407485B (zh) | 2016-12-20 | 2016-12-20 | 一种基于相似度比较的url去重方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407485A true CN106407485A (zh) | 2017-02-15 |
CN106407485B CN106407485B (zh) | 2017-12-26 |
Family
ID=58087396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611182696.XA Active CN106407485B (zh) | 2016-12-20 | 2016-12-20 | 一种基于相似度比较的url去重方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407485B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329969A (zh) * | 2017-05-23 | 2017-11-07 | 合肥智权信息科技有限公司 | 一种基于多次校验的数据信息更新系统和方法 |
CN109271408A (zh) * | 2018-08-31 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
CN110399546A (zh) * | 2019-07-23 | 2019-11-01 | 中南民族大学 | 基于网络爬虫的链接去重方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880726A (zh) * | 2012-10-23 | 2013-01-16 | 深圳市宜搜科技发展有限公司 | 一种图像过滤方法及系统 |
US20150356196A1 (en) * | 2014-06-04 | 2015-12-10 | International Business Machines Corporation | Classifying uniform resource locators |
CN105956068A (zh) * | 2016-04-27 | 2016-09-21 | 湖南蚁坊软件有限公司 | 基于分布式数据库的网页url去重方法 |
-
2016
- 2016-12-20 CN CN201611182696.XA patent/CN106407485B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880726A (zh) * | 2012-10-23 | 2013-01-16 | 深圳市宜搜科技发展有限公司 | 一种图像过滤方法及系统 |
US20150356196A1 (en) * | 2014-06-04 | 2015-12-10 | International Business Machines Corporation | Classifying uniform resource locators |
CN105956068A (zh) * | 2016-04-27 | 2016-09-21 | 湖南蚁坊软件有限公司 | 基于分布式数据库的网页url去重方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329969A (zh) * | 2017-05-23 | 2017-11-07 | 合肥智权信息科技有限公司 | 一种基于多次校验的数据信息更新系统和方法 |
CN109271408A (zh) * | 2018-08-31 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
TWI716016B (zh) * | 2018-08-31 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 分散式資料連接處理方法、裝置、設備及儲存媒體 |
US11188535B2 (en) | 2018-08-31 | 2021-11-30 | Beijing Oceanbase Technology Co., Ltd. | Distributed join operation processing method, apparatus, device, and storage medium |
CN110399546A (zh) * | 2019-07-23 | 2019-11-01 | 中南民族大学 | 基于网络爬虫的链接去重方法、装置、设备及存储介质 |
CN110399546B (zh) * | 2019-07-23 | 2022-02-08 | 中南民族大学 | 基于网络爬虫的链接去重方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106407485B (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407485B (zh) | 一种基于相似度比较的url去重方法和系统 | |
CN102867059A (zh) | 一种树形结构中数据的处理方法和系统 | |
CN105718590A (zh) | 面向多租户的SaaS舆情监控系统及方法 | |
CN101727502A (zh) | 一种数据查询方法及装置、系统 | |
CN102163234A (zh) | 一种基于纠错相关度对查询序列进行纠错的设备和方法 | |
CN103984757B (zh) | 在搜索结果页上插入新闻信息条目的方法和系统 | |
CN106503223A (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN105389329A (zh) | 一种基于群体评论的开源软件推荐方法 | |
CN103218443A (zh) | 一种面向博客网页的网页检索系统及方法 | |
CN104050271A (zh) | 一种基于HBase的卡口数据处理方法 | |
CN105302876A (zh) | 基于正则表达式的url过滤方法 | |
CN106844089A (zh) | 一种用于恢复树形数据存储的方法与设备 | |
CN106021439A (zh) | 一种对通信号码的处理方法及装置 | |
CN107145496A (zh) | 基于关键词将图像与内容项目匹配的方法 | |
CN104536984B (zh) | 一种外包数据库中的空间文本Top‑k查询的验证方法及系统 | |
CN102799680B (zh) | 一种基于近邻传播的xml文档谱聚类方法 | |
CN107644050A (zh) | 一种基于solr的Hbase的查询方法及装置 | |
CN104899215A (zh) | 数据处理方法、推荐源信息组织和信息推荐方法及装置 | |
CN107544994B (zh) | 关联数据的处理方法和装置 | |
CN106547764A (zh) | 网页数据去重的方法及装置 | |
CN105718457A (zh) | 基于电子票据的信息推送方法及系统 | |
CN102214216B (zh) | 一种层次关系数据上关键字检索结果的聚合摘要方法 | |
CN107145497A (zh) | 基于图像和内容的元数据选择与内容匹配的图像的方法 | |
CN105989124B (zh) | Sqlite文件恢复自增主键值的方法及其系统 | |
CN106776910A (zh) | 一种搜索结果的显示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |