一种分布式网络爬虫的URL去重方法及其系统技术方案

技术编号:20916697 阅读:32 留言:0更新日期:2019-04-20 09:43
本发明专利技术公开了一种分布式网络爬虫的URL去重方法及其系统,涉及数据传输领域。本发明专利技术包括如下步骤:步骤S01:获取待抓取网页的URL;步骤S02:URL进行MD5压缩处理;步骤S03:将生成的密文切割成16位数组;步骤S04:根据磁盘符号查找方式将密文生成数组的转换为相应路径;步骤S05:判断linkurl中是否存在相应的URL;步骤S06:对资源库中的URL进行解密并动态插入改进广义表;步骤S07:遍历待去重的URL每个字母;步骤S08:依次判断每个字母对应的节点是否存在。本发明专利技术通过MD5加密算法与树相结合的方式对URL初步去重,再通过将初步去重的URL依次遍历每个字母,根据字母对应的节点进行二次去重,提升了网络爬虫抓取数据精确性和效率,降低了资源空间占有率。

A URL Reduplication Method and System for Distributed Network Crawler

The invention discloses a method and system for removing duplicate URLs of distributed network crawlers, which relates to the field of data transmission. The invention comprises the following steps: 1) obtaining the URL of the web page to be crawled; 02: URL for MD5 compression processing; 03: cutting the generated ciphertext into 16-digit groups; 2) converting the ciphertext generated array into corresponding paths according to the disk symbol lookup mode; 2) determining whether the corresponding URL exists in linkurl; 6: performing the URL in the resource library. Decrypt and insert the improved generalized table dynamically; (07) traverse each letter of the URL to be duplicated; (08) judge the existence of nodes corresponding to each letter in turn. The method of combining MD5 encryption algorithm with tree preliminarily removes the duplication of the URL, then traverses each letter in turn by the preliminary duplication of the URL, and removes the duplication twice according to the corresponding nodes of the letters, thus improving the accuracy and efficiency of crawler's data capture and reducing the occupancy rate of resource space.

【技术实现步骤摘要】
一种分布式网络爬虫的URL去重方法及其系统
本专利技术属于数据传输领域,特别是涉及一种分布式网络爬虫的URL去重方法及其系统。
技术介绍
目前,网络爬虫常用的URL去重方案有基于数据库的去重方案和基于内存链表的去重方案,这些方案在URL库容量不大的情况下有不错的效果。但是,现有的分布式爬虫面向的URL库容量通常非常大,需要URL去重能够持久保持高效运作,而上述常用的URL去重方案在爬虫程序运行较长时间后会有效率剧降或任务瘫痪的风险。现有技术中的URL去重方法设计不够合理,亟需改进。
技术实现思路
本专利技术的目的在于提供一种分布式网络爬虫的URL去重方法及其系统,通过MD5加密算法与树相结合的方式对URL初步去重,再通过将初步去重的URL依次遍历每个字母,根据字母对应的节点进行二次去重,解决了现有的网络爬虫抓取数据精确性和效率不足以及占用资源多的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种分布式网络爬虫的URL去重方法,包括如下步骤:步骤S01:获取待抓取网页的URL;步骤S02:将获取的URL进行16位MD5压缩处理;步骤S03:将生成的密文切割成16位数组;步骤S04:根据磁盘符号查找方式将密文生成数组的转换为相应路径;步骤S05:判断linkurl中是否存在相应的URL;若不存在,则URL存储至资源库;若存在,则删除该URL;步骤S06:对资源库中的URL进行解密并动态插入改进广义表;步骤S07:从动态广义表根节点出发,遍历待去重的URL每个字母;步骤S08:依次判断每个字母对应的节点是否存在;若存在,则将该条URL去重;若不存在,则将该条URL存储至待抓取队列。优选地,所述步骤S02中,对URL加密完成后以树的形式进行存储。优选地,所述步骤S03中,密文切割成16位的数组a后,将数据a[0]的值与根节点下指向的节点值进行比较;若存在,则将找到的节点r[1]指向的下一个节点与a[1]相比较,依次比较直至a[15]比较结束。优选地,所述步骤S07中,广义表中每个节点存储一个字母,遍历URL每个字母时,若某一字母对应的广义表节点不存在,则需先创建该节点对应层上的root节点和该字母的对应节点后,返回继续遍历。本专利技术为一种分布式网络爬虫的URL去重系统,包括处理器和存储器,所述处理器依次与搜索模块、加密模块、转换模块、解密模块、插入模块、去重模块以及存储器电性连接;所述搜索模块,用于依次读取一条待处理网页的地址并传递至加密模块;所述加密模块,用于对获取的URL并对URL进行MD5压缩加密处理;所述转换模块,用以根据磁盘符号将加密后生成的密文数组转换成相应路径;所述解密模块,用于对初步去重的URL进行解密处理;所述插入模块,用于将解密完成的URL插入广义表中;所述去重模块,用于根据广义表根节点遍历URL每个字母进行二次去重。本专利技术具有以下有益效果:本专利技术通过MD5加密算法与树相结合的方式对URL初步去重,再通过将初步去重的URL依次遍历每个字母,根据字母对应的节点进行二次去重,提升了网络爬虫抓取数据精确性和效率,降低了资源空间占有率。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一种分布式网络爬虫的URL去重方法步骤图;图2为本专利技术的一种分布式网络爬虫的URL去重系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1所示,本专利技术为一种分布式网络爬虫的URL去重方法,包括如下步骤:步骤S01:获取待抓取网页的URL;步骤S02:将获取的URL进行16位MD5压缩处理;步骤S03:将生成的密文切割成16位数组;步骤S04:根据磁盘符号查找方式将密文生成数组的转换为相应路径;步骤S05:判断linkurl中是否存在相应的URL;若不存在,说明此URL为新URL,则将该URL存储至资源库;若存在,说明linkurl中已有相应的URL,则删除该URL;步骤S06:对资源库中的URL进行解密并动态插入改进广义表;步骤S07:从动态广义表根节点出发,遍历待去重的URL每个字母;步骤S08:依次判断每个字母对应的节点是否存在;若字母遍历到整个URL的最后一个字母,依然存在对应的节点,则将该条URL去重;若不存在,则将该条URL存储至待抓取队列。其中,步骤S02中,对URL加密完成后以树的形式进行存储。其中,步骤S03中,密文切割成16位的数组a后,将数据a[0]的值与根节点下指向的节点值进行比较;若存在,则将找到的节点r[1]指向的下一个节点与a[1]相比较,依次比较直至a[15]比较结束;如果没有找到新建一个值为当前比较字符,后续节点值为下一字符的节点。其中,步骤S07中,广义表中每个节点存储一个字母,遍历URL每个字母时,若某一字母对应的广义表节点不存在,则需先创建该节点对应层上的root节点和该字母的对应节点后,返回继续遍历;如果这个字母对应的节点存在,则将这个节点转向head指针进入下一层继续执行遍历。请参阅图2所示,本专利技术为一种分布式网络爬虫的URL去重系统,包括处理器和存储器,所述处理器依次与搜索模块、加密模块、转换模块、解密模块、插入模块、去重模块以及存储器电性连接;所述搜索模块,用于依次读取一条待处理网页的地址并传递至加密模块;所述加密模块,用于对获取的URL并对URL进行MD5压缩加密处理;所述转换模块,用以根据磁盘符号将加密后生成的密文数组转换成相应路径;所述解密模块,用于对初步去重的URL进行解密处理;所述插入模块,用于将解密完成的URL插入广义表中;所述去重模块,用于根据广义表根节点遍历URL每个字母进行二次去重。值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本专利技术的保护范围。另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。以上公开的本专利技术优选实施例只是用于帮助阐述本专利技术。优选实施例并没有详尽叙述所有的细节,也不限制该专利技术仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本专利技术的原理和实际应用,从而使所属
技术人员能很好地理解和利用本专利技术。本专利技术仅受权利要求书及其全部范围和等效物的限制。本文档来自技高网
...

【技术保护点】
1.一种分布式网络爬虫的URL去重方法,其特征在于,包括如下步骤:步骤S01:获取待抓取网页的URL;步骤S02:将获取的URL进行16位MD5压缩处理;步骤S03:将生成的密文切割成16位数组;步骤S04:根据磁盘符号查找方式将密文生成数组的转换为相应路径;步骤S05:判断linkurl中是否存在相应的URL;若不存在,则URL存储至资源库;若存在,则删除该URL;步骤S06:对资源库中的URL进行解密并动态插入改进广义表;步骤S07:从动态广义表根节点出发,遍历待去重的URL每个字母;步骤S08:依次判断每个字母对应的节点是否存在;若存在,则将该条URL去重;若不存在,则将该条URL存储至待抓取队列。

【技术特征摘要】
1.一种分布式网络爬虫的URL去重方法,其特征在于,包括如下步骤:步骤S01:获取待抓取网页的URL;步骤S02:将获取的URL进行16位MD5压缩处理;步骤S03:将生成的密文切割成16位数组;步骤S04:根据磁盘符号查找方式将密文生成数组的转换为相应路径;步骤S05:判断linkurl中是否存在相应的URL;若不存在,则URL存储至资源库;若存在,则删除该URL;步骤S06:对资源库中的URL进行解密并动态插入改进广义表;步骤S07:从动态广义表根节点出发,遍历待去重的URL每个字母;步骤S08:依次判断每个字母对应的节点是否存在;若存在,则将该条URL去重;若不存在,则将该条URL存储至待抓取队列。2.根据权利要求1所述的一种分布式网络爬虫的URL去重方法,其特征在于,所述步骤S02中,对URL加密完成后以树的形式进行存储。3.根据权利要求1所述的一种分布式网络爬虫的URL去重方法,其特征在于,所述步骤S03中,密文切割成16位的数组a后,将数据a[0]的值与根节点下指向的节点值进行比较...

【专利技术属性】
技术研发人员:胡翔
申请(专利权)人:安徽云融信息技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1