CN108920668B - 一种统一资源定位符url去重方法及装置 - Google Patents

一种统一资源定位符url去重方法及装置 Download PDF

Info

Publication number
CN108920668B
CN108920668B CN201810733716.0A CN201810733716A CN108920668B CN 108920668 B CN108920668 B CN 108920668B CN 201810733716 A CN201810733716 A CN 201810733716A CN 108920668 B CN108920668 B CN 108920668B
Authority
CN
China
Prior art keywords
url
list
downloaded
parameter
threshold
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.)
Active
Application number
CN201810733716.0A
Other languages
English (en)
Other versions
CN108920668A (zh
Inventor
熊庆昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810733716.0A priority Critical patent/CN108920668B/zh
Priority to PCT/CN2018/108715 priority patent/WO2020006909A1/zh
Publication of CN108920668A publication Critical patent/CN108920668A/zh
Application granted granted Critical
Publication of CN108920668B publication Critical patent/CN108920668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种统一资源定位符URL去重及装置,其中方法包括:在检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,又在检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,当该第一出现次数小于或等于第一阈值,就下载该待下载URL。采用本申请实施例,可以减少下载到重复URL的数量,在保证去重准确率的同时提高WEB漏洞扫描系统的扫描效率。

Description

一种统一资源定位符URL去重方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种统一资源定位符URL去重方法及装置。
背景技术
目前业内很多万维网(world wide web,WEB)漏洞扫描系统,都有自己的统一资源定位符(uniform resource locator,URL)爬虫,也有自己的URL去重方法。URL爬虫指爬虫系统首先从互联网页面中精心选择一部分网页,以这些网页的链接地址作为种子URL,将这些种子放入待抓取URL队列中,爬虫从待抓取URL队列依次读取,并将URL通过域名系统(domain name system,DNS)解析,把链接地址转换为网站服务器对应的IP地址。然后将其和网页相对路径名称交给网页下载器,网页下载器负责页面的下载。对于下载到本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的URL放入已抓取队列中,这个队列记录了爬虫系统已经下载过的网页URL,以避免系统的重复抓取。
URL去重指的是将重复抓取的URL去除,避免多次抓取同一网页。例如,对每一个给定的URL,将其映射到某个物理地址上。当需要检测该给定URL是否重复时,只需判断该给定URL对应的物理地址是否已经存在,若存在,说明已经被下载过,则放弃下载,否则将该给定URL放入待抓取队列,等待下载。由于一个网站中的很多URL仅是参数部分不同,而这些仅是参数部分不同的URL很大可能已经被下载过,但这些URL经过映射后得到的物理地址是不相同的,这时仅通过URL对应的物理地址来判断这些URL是否重复将导致爬取到很多重复的URL,影响WEB漏洞扫描系统的扫描效率。
发明内容
本申请实施例提供一种统一资源定位符URL去重方法及装置,可减少下载到重复URL的数量,在保证去重准确率的同时提高WEB漏洞扫描系统的扫描效率。
第一方面,本申请实施例提供了一种统一资源定位符URL去重方法,该方法包括:
当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL;
若检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL;
若该第一出现次数小于或等于第一阈值,则下载该待下载URL。
结合第一方面,在一种可能的实施方式中,该方法还包括:当检测到该待下载URL经过该目标泛化处理后得到的该第一URL在该第一列表中时,获取该第一URL在该第一列表中的第二出现次数;若该第二出现次数小于或等于第二阈值,下载该待下载URL。其中,该第二阈值大于或等于该第一阈值,该第一阈值为大于或等于0的整数。
结合第一方面,在一种可能的实施方式中,当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,包括:
对该待下载URL进行目标泛化处理得到第一URL;利用目标哈希函数计算该第一URL的哈希值;检测该第一URL的哈希值是否在第一列表中,该第一列表用于存储历史记录中已下载的URL经过目标泛化处理后得到的URL的哈希值;当该第一URL的哈希值不在该第一列表中时,除去该第一URL中的参数部分得到第二URL。
结合第一方面,在一种可能的实施方式中,该第一URL包括协议、服务器名称、路径以及参数字段;除去该第一URL中的参数部分得到第二URL,包括:删除该第一URL中的参数字段得到该第二URL。
结合第一方面,在一种可能的实施方式中,若检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,包括:
利用目标哈希函数计算该第二URL的哈希值;检测该第二URL的哈希值是否在该第二列表中;若该第二URL的哈希值在该第二列表中,获取该第二URL的哈希值在该第二列表中的该第一出现次数。其中,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL的哈希值。
结合第一方面,在一种可能的实施方式中,该方法还包括当该第二URL不在该第二列表中时,下载该待下载URL。
第二方面,本申请实施例提供了一种URL去重装置,该装置包括:
处理模块,用于当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL;
第一获取模块,用于当检测到该第二URL在该第二列表中时,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL;
下载模块,用于当该第一出现次数小于或等于第一阈值时,则下载该待下载URL。
结合第二方面,在一种可能的实施方式中,该装置还包括:第二获取模块,用于当检测到该待下载URL经过该目标泛化处理后得到的该第一URL在该第一列表中时,获取该第一URL在该第一列表中的第二出现次数;上述下载模块,还用于当该第二出现次数小于或等于第二阈值时,下载该待下载URL。其中,该第二阈值大于或等于该第一阈值,该第一阈值为大于或等于0的整数。
结合第二方面,在一种可能的实施方式中,上述处理模块具体用于:对该待下载URL进行目标泛化处理得到第一URL;利用目标哈希函数计算该第一URL的哈希值;检测该第一URL的哈希值是否在第一列表中,该第一列表用于存储历史记录中已下载的URL经过目标泛化处理后得到的URL的哈希值;当该第一URL的哈希值不在该第一列表中时,除去该第一URL中的参数部分得到第二URL。
结合第二方面,在一种可能的实施方式中,该第一URL包括协议、服务器名称、路径以及参数字段;上述处理模块具体用于当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,删除该第一URL中的参数字段得到该第二URL。
结合第二方面,在一种可能的实施方式中,上述第一获取模块具体用于:利用目标哈希函数计算该第二URL的哈希值;检测该第二URL的哈希值是否在该第二列表中;若该第二URL的哈希值在该第二列表中,获取该第二URL的哈希值在该第二列表中的该第一出现次数。其中,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL的哈希值。
结合第二方面,在一种可能的实施方式中,上述下载模块还用于当该第二URL不在该第二列表中时,下载该待下载URL。
第三方面,本申请实施例提供了另一种终端,包括处理器和存储器,该处理器和存储器相互连接,其中,该存储器用于存储支持终端执行上述方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用该程序指令,执行上述第一方面的统一资源定位符URL去重方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的统一资源定位符URL去重方法。
本申请实施例通过在检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL,又在检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL,当该第一出现次数小于或等于第一阈值,就下载该待下载URL,可以减少下载到重复URL的数量,在保证去重准确率的同时提高WEB漏洞扫描系统的扫描效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的统一资源定位符URL去重方法的一示意流程图;
图2a是第一列表和出现次数的关系示意图;
图2b是第二列表和出现次数的关系示意图;
图3是本申请实施例提供的统一资源定位符URL去重方法的另一示意流程图;
图4是本申请实施例提供的URL去重装置的一示意性框图;
图5是本申请实施例提供的终端的一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都在本申请保护的范围。
应当理解,本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
还应当理解,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在介绍本申请实施例之前,先介绍URL的数据结构。一个URL的结构通常可以为“协议://服务器名称(IP地址)/路径?参数”,例如:http://xxx.pingan.com/cgi-bin/index1.html?param1=value1&param2=value2,其中param1=value1&param2=value2表示这个URL的参数字段(参数部分),URL的参数字段由参数名和参数值组成,param1和param2表示参数名,value1和value2表示参数值,参数值可为数字、字母(包括大小写)、特殊字符(指除数字、字母之外的字符)和/或它们的组合。问号“?”字符用于分隔URL中的路径和参数,逻辑与“&”字符表示URL中指定的参数间的分隔符。
下面将结合图1至图5,对本申请实施例提供的统一资源定位符URL去重方法及装置进行说明。
参见图1,是本申请实施例提供的统一资源定位符URL去重方法的一示意流程图,如图1所示,该统一资源定位符URL去重方法可包括:
S101,当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去第一URL中的参数部分得到第二URL。
在一些可行的实施方式中,终端可以将爬取到的待下载URL的参数字段按照参数名进行排序,并对该待下载URL参数字段的参数值进行目标泛化处理,得到第一URL。终端可以检测第一列表中是否存在与该第一URL1相同的URL,若不存在,说明该第一URL不在该第一列表中,则除去该第一URL中的参数部分得到第二URL。其中,该目标泛化处理可以用于将URL中相同类型的多个连续字符替换为单个字符。例如,可将连续的数字如145替换为数字1,连续的字母如FK、aj、dgA都替换为字母A,特殊字符都替换为百分号%。该第一列表可以用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL。特殊字符指除数字和字母外的字符,如问号“?”、感叹号“!”等。因为经过目标泛化处理得到的第一URL只减少了待下载URL参数值中的部分变量,所以当第一URL不在第一列表中时,说明待下载URL未被下载过,终端再进行进一步去重处理,保证了去重的准确率。
例如,终端爬取到的待下载URL为http://xxx.pingan.com/cgi-bin/index1.html?param1=v167!ABD&param2=val_ue2,终端可以将待下载URL的参数部分按照参数名进行排序,以保证待下载URL的参数部分顺序排列,再将待下载URL的参数值中连续的数字替换为预设的单个数字“1”、连续的字母替换为预设的单个字母“A”、特殊字符替换为预设的单个特殊字符“%”,得到URL1(第一URL)为http://xxx.pingan.com/cgi-bin/index1.html?param1=v1%A&param2=A%A2。假设第一列表中包括URL4、URL6以及URL7这三个URL,终端检测第一列表(URL4、URL6以及URL7)中是否存在与URL1相同的URL,即第一列表中是否存在URL1,因为第一列表中不存在URL1,说明URL1不在第一列表中,终端就删除URL1中的参数字段得到第二URL为http://xxx.pingan.com/cgi-bin/index1.html。
在一些可行的实施方式中,终端可以将爬取到的待下载URL的参数字段按照参数名进行排序,并对该待下载URL参数字段的参数值进行目标泛化处理,得到第一URL。终端可以利用消息-摘要算法5(message-digest algorithm 5,MD5)计算上述第一URL的哈希(hash)值,并可以检测该第一URL的hash值是否在该第一列表中。若该第一URL的hash值不在第一列表中,终端可以除去该第一URL中的参数部分得到第二URL。其中,该目标泛化处理可以用于将URL中相同类型的多个连续字符替换为单个字符。例如,可将连续的数字如145替换为数字1,连续的字母如FK、aj、dgA都替换为字母A,特殊字符都替换为百分号%。该第一列表可以用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL,再经过MD5计算后得到的hash值。特殊字符指除数字和字母外的字符,如问号“?”、感叹号“!”等。因为hash函数是将任意大小的数据转换成特定大小的数据的函数,且已下载列表(第一列表)中存储的是URL的hash值,而不是完整的URL,可以减少存储空间(因为完整URL字符较多,而hash值是固定大小的数据)。
例如,终端爬取到的待下载URL为http://xxx.pingan.com/cgi-bin/index1.html?param1=v167!ABD&param2=val_ue2,终端可以将待下载URL的参数部分按照参数名进行排序,以保证待下载URL的参数部分顺序排列,再将待下载URL的参数值中连续的数字替换为预设的单个数字“1”、连续的字母替换为预设的单个字母“A”、特殊字符替换为预设的单个特殊字符“%”,得到URL1(第一URL)为http://xxx.pingan.com/cgi-bin/index1.html?param1=v1%A&param2=A%A2。终端可以利用MD5计算URL1的hash值为03,假设第一列表中包括hash值01、04以及07,终端检测URL1的hash值03是否在第一列表(01、04以及07)中,因为第一列表中不存在hash值03,终端就删除URL1中的参数字段得到第二URL为http://xxx.pingan.com/cgi-bin/index1.html。
在一些可行的实施方式中,终端可以将爬取到的待下载URL的参数字段按照参数名进行排序,并对该待下载URL参数字段的参数值进行目标泛化处理,得到第一URL。终端可以检测第一列表中是否存在与该第一URL1相同的URL,若存在,说明该第一URL在该第一列表中,终端可以将该第一URL在该第一列表中的出现次数加1,得到该第一URL在该第一列表中的第二出现次数。终端可以比较该第二出现次数与预设的第二阈值之间的大小关系,若该第二出现次数小于或等于该第二阈值,则终端可以下载该待下载URL。若该第二出现次数大于该第二阈值,则终端可以丢弃该待下载URL,即不下载该待下载URL。例如,如图2a所示,是第一列表与出现次数的关系示意图。其中,假设第一列表中的元素为URL1、URL4以及URL7,第一URL为URL1,第二阈值为7。终端检测第一列表(URL1、URL4以及URL7)中是否存在与URL1相同的URL,即第一列表中是否存在URL1,因为第一列表中存在URL1,终端就将URL1在第一列表中的出现次数1加1,得到URL1在第一列表中的第二出现次数2。因为第二出现次数2小于第二阈值7,故终端可以下载该待下载URL。
在一些可行的实施方式中,若上述待下载URL为某个网站中爬取到的第一个URL,那么第一列表可以为空(因为此时没有已下载的URL)。
S102,若检测到第二URL在第二列表中,获取第二URL在第二列表中的第一出现次数。
在一些可行的实施方式中,终端可以检测上述第二URL是否在第二列表中,若是,则可以将该第二URL在该第二列表中的出现次数加1,得到该第二URL在该第二列表中的第一出现次数。若不是,即上述第二URL不在第二列表中,终端可以直接下载上述待下载URL。其中,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL。
在一些可行的实施方式中,终端可以利用MD5计算上述第二URL的hash值,并可以检测该第二URL的hash值是否在该第二列表中,若是,则可以将该第二URL的hash值在该第二列表中的出现次数加1,得到该第二URL的hash值在该第二列表中的第一出现次数。若不是,即上述第二URL的hash值不在第二列表中,终端可以直接下载上述待下载URL。
例如,如图2b所示,是第二列表与出现次数的关系示意图。其中,假设第二列表中的元素为02和06,第二URL为URL2,终端计算URL2的hash值为02,终端检测到URL2的hash值02在第一列表中,终端将URL2的hash值02在第一列表中的出现次数2加1,得到URL2的hash值02在第二列表中的第一出现次数3。
在一些可行的实施方式中,终端在检测出该第二URL不在该第二列表中时,终端可以将该第二URL加入该第二列表以形成新的第二列表,即更新该第二列表,同时可以将该第二URL在该第二列表中的出现次数置为1,并可以下载上述待下载URL。终端在下载上述待下载URL或丢弃上述待下载URL之后,终端利用最新的第二列表检测下一个待下载URL是否被下载过。终端通过不断更新第二列表,可以更准确地过滤掉重复的URL,并且可以进一步提高扫描效率。
在一些可行的实施方式中,若上述待下载URL为某个网站中爬取到的第一个URL,那么第二列表可以为空(因为此时没有已下载的URL)。
S103,若第一出现次数小于或等于第一阈值,则下载待下载URL。
在一些可行的实施方式中,终端可以比较上述获取到的第一出现次数与预设的第一阈值之间的大小关系。若该第一出现次数小于或等于该第一阈值,则终端可以直接下载上述待下载URL。若该第一出现次数大于该第一阈值,则终端可以直接丢弃上述待下载URL,即不下载该待下载URL。其中,该第一阈值可以小于上述第二阈值,该第一阈值可以为大于或等于0的整数。终端通过判断除去第一URL中的参数部分得到的第二URL是否已经被下载过,从而判断出是否需要下载待下载URL,可以过滤掉参数部分不相同的待下载URL,即减少了待下载URL中的变量,丢弃的待下载URL多,进而减少了下载到重复URL的数量,在保证准确率的同时进一步提高了扫描效率,处理效率更高。
本申请实施例通过在检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL,又在检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL,当该第一出现次数小于或等于第一阈值,就下载该待下载URL,可以减少下载到重复URL的数量,在保证去重准确率的同时提高WEB漏洞扫描系统的扫描效率。
参见图3,是本申请实施例提供的统一资源定位符URL去重方法的另一示意流程图,如图3所示,该统一资源定位符URL去重方法可包括:
S301,对待下载URL进行第一泛化处理得到第一泛化处理后的URL1。
S302,当第一URL不在第一列表中时,除去第一URL参数部分中的参数值得到除去参数值的URL2。
在一些可行的实施方式中,为便于描述,URL1可以表示本申请实施例中的第一URL。其中URL1、URL2表示经过不同处理后的URL。终端可以将待下载URL的参数部分按照参数名进行排序,并对该待下载URL参数部分的参数值进行第一泛化处理,得到URL1。终端可以检测第一列表中是否存在与上述URL1相同的URL,若不存在,说明上述URL1不在第一列表,则可以删除URL1参数部分中的参数值得到URL2。若存在,说明该URL1在该第一列表中,则终端可以将该URL1在该第一列表中的出现次数加1,得到该URL1在该第一列表中的第二出现次数,并可以判断该第二出现次数是否小于或等于第二阈值,若是(即该第二出现次数小于或等于该第二阈值),则下载上述待下载URL,若否(即该第二出现次数大于该第二阈值),则丢弃上述待下载URL,即不下载该待下载URL。终端通过判断经过第一泛化处理得到的URL1是否已经被下载过,从而判断出是否需要下载待下载URL,可以过滤掉参数值中具有相同数据格式的待下载URL,减少了下载到重复URL的数量,又因为只减少了待下载URL参数值中的部分变量,所以保证了去重的准确率。其中,该第一泛化处理用于将该待下载URL中相同类型的多个连续字符替换为单个字符。例如,可将连续的数字如145替换为数字1,连续的字母如FK、aj、dgA都替换为字母A,特殊字符都替换为符号%。其中,特殊字符指除数字和字母外的字符,如问号“?”、感叹号“!”等。该第一列表可以用于存储历史记录中已下载的URL经过上述第一泛化处理后得到的URL。
在一些可行的实施方式中,终端在得到上述URL1之后,终端可以利用MD5计算上述URL1的hash值,并可以检测该URL1的hash值是否在该第一列表中,若是,则可以删除该URL1的参数部分中的参数值得到URL2。若否,可以将该URL1的hash值在该第一列表中的出现次数加1,得到该URL1的hash值在该第一列表中的第二出现次数,并可以判断该第二出现次数是否小于或等于第二阈值,若是(即该第二出现次数小于或等于该第二阈值),则下载上述待下载URL,若否(即该第二出现次数大于该第二阈值),则丢弃上述待下载URL,即不下载该待下载URL。其中,第一列表可以用于存储历史记录已下载的URL经过上述第一泛化处理后得到的URL的哈希值。该第二阈值为大于0的整数。因为hash函数是将任意大小的数据转换成特定大小的数据的函数,且已下载列表(第一列表)中存储的是URL的hash值,而不是完整的URL,可以减少存储空间(因为完整URL字符较多,而hash值是固定大小的数据),同时在检测URL1是否在第一列表中时,可以提高处理效率。
在一些可行的实施方式中,终端在检测出该URL1不在该第一列表中时,终端可以将该URL1加入该第一列表以形成新的第一列表,即更新该第一列表,同时可以将该URL1在该第一列表中的出现次数置为1,并可以删除该URL1的参数部分中的参数值得到URL2。终端在下载上述待下载URL或丢弃上述待下载URL之后,终端利用最新的第一列表检测下一个待下载URL是否被下载过。终端通过不断更新第一列表,可以更准确地过滤掉重复的URL,并且可以进一步提高扫描效率。例如,第一列表包括URL5、URL6以及URL7,此时,URL1不在第一列表中,终端可以将该URL1加入第一列表,此时更新后的第一列表包括URL1、URL5、URL6以及URL7。同时,终端也可以将URL1在第一列表中的出现次数也置为1。
S303,当检测到URL2在第二列表时,检测URL2在第二列表中的第一出现次数是否小于或等于第一阈值,若是,则下载待下载URL。
S304,当检测到URL2不在第二列表中时,除去URL2中的参数部分得到除去参数部分的URL3。
在一些可行的实施方式中,为便于描述,URL3可以表示本申请实施例中的第二URL。其中URL2、URL3表示经过不同处理后的URL。终端可以检测第二列表中是否存在与上述URL2相同的URL,若存在,说明该URL2在该第二列表中,则可以将该URL2在该第二列表中的出现次数加1,得到该URL2在该第二列表中的第一出现次数,并可以检测该第一出现次数是否小于或等于第一阈值,若是(即该第一出现次数小于或等于该第一阈值),则下载上述待下载URL,若否(即第一出现次数大于该第一阈值),则丢弃上述待下载URL,即不下载该待下载URL。若终端检测到该第二列表中不存在该URL2,说明该URL2不在该第二列表中,则可以删除该URL2中的参数部分得到URL3。其中,第二列表可以用于存储历史记录中已下载的URL除去参数部分后得到的URL。终端通过判断除去URL1的参数部分中的参数值得到的URL2是否已经被下载过,从而判断出是否需要下载待下载URL,可以过滤掉参数值不相同的待下载URL,进一步减少了下载到重复URL的数量,在保证准确率的同时提高了扫描效率。需要说明的是,该第一阈值小于或等于上述第二阈值,该第一阈值可以为大于0的整数。因为第一泛化处理仅是减少了待下载URL的参数值中的变量,此时URL1中的变量还较多,过滤掉的URL就少,下载的URL就较多,URL1在第一列表中出现的次数就多。因此第一阈值小于第二阈值可以保证步骤S301-步骤S302未过滤掉的URL,除去参数部分中的参数值之后可以被过滤掉,达到分级去重的目的。
在一些可行的实施方式中,终端可以利用MD5计算上述URL2的hash值,并可以检测该URL2的hash值是否在该第二列表中,若是,可以将该URL2的hash值在该第二列表中的出现次数加1,得到该URL2的hash值在该第二列表中的第一出现次数,并可以判断该第一出现次数是否小于或等于第一阈值,若是(即该第一出现次数小于或等于该第一阈值),则下载上述待下载URL,若否(即该第一出现次数大于该第一阈值),则丢弃上述待下载URL,即不下载该待下载URL。若否,则可以删除URL2中的参数部分(包括参数值和参数名)得到URL3。其中,第二列表可以用于存储历史记录中已下载的URL除去参数值后得到的URL,再经过MD5计算后得到的hash值。因为hash函数是将任意大小的数据转换成特定大小的数据的函数,且已下载列表(第二列表)中存储的是URL的hash值,而不是完整的URL,可以进一步减少存储空间,同时在检测URL2是否在第二列表时,可以进一步提高处理效率。
例如,假设第二列表中的hash值为07和09,URL2为:http://xxx.pingan.com/cgi-bin/index1.html?param1&param2,终端计算URL2的hash值为04,终端检测到URL2的hash值04不在第二列表中,终端就直接删除URL2中的参数部分得到URL3,URL3为:http://xxx.pingan.com/cgi-bin/index1.html。
在一些可行的实施方式中,终端在检测出该URL2不在该第二列表中时,终端可以将该URL2加入该第二列表形成新的第二列表,即更新该第二列表,同时可以将该URL2在该第二列表中的出现次数置为1,并可以除去该URL2中的参数部分得到URL3。终端在下载上述待下载URL或丢弃上述待下载URL之后,终端利用最新的第二列表检测下一个待下载URL是否被下载过。终端通过不断更新第二列表,可以更准确地过滤掉重复的URL,并且可以进一步提高扫描效率。
在一些可行的实施方式中,若上述待下载URL为某个网站中爬取到的第一个URL,那么第二列表可以为空(因为此时没有已下载的URL)。
S305,当检测到URL3在第三列表中时,检测URL3在第三列表中的第三出现次数是否小于或等于第三阈值,若是,则下载待下载URL。
S306,当检测到URL3不在第三列表中时,对URL3进行第二泛化处理得到第二泛化处理后的URL4。
在一些可行的实施方式中,为便于描述,URL3可以表示本申请实施例中的第二URL。其中URL3、URL4表示经过不同处理后的URL。终端可以检测第三列表中是否存在与上述URL3相同的URL,若存在,说明该URL3在该第三列表中,则可以将该URL3在该第三列表中的出现次数加1,得到该URL3在该第三列表中的第三出现次数,并可以检测该第三出现次数是否小于或等于第三阈值,若是(即该第三出现次数小于或等于该第三阈值),则下载上述待下载URL,若否(即第三出现次数大于该第三阈值),则丢弃上述待下载URL,即不下载该待下载URL。若终端检测到该第三列表中不存在该URL3,说明该URL3不在该第三列表中,则可以对该URL3的路径部分进行第二泛化处理得到URL4。该第二泛化处理用于将URL3的路径部分中目标类型的至少一个字符替换为目标字符,如将该URL3的路径部分中的一个或多个数字替换为预设的单个数字“1”。其中,第三列表可以用于存储历史记录中已下载的URL除去参数部分后得到的URL。终端通过判断除去URL2参数部分得到的URL3是否已经被下载过,从而判断出是否需要下载待下载URL,可以过滤掉参数部分不相同的待下载URL,即减少了待下载URL中的变量,丢弃的待下载URL多,进而减少了下载到重复URL的数量,在保证准确率的同时进一步提高了扫描效率。需要说明的是,该第三阈值可以小于或等于上述第一阈值,上述第一阈值小于或等于上述第二阈值,该第三阈值可以为大于0的整数。因为除去参数部分中的参数值仅是减少了待下载URL参数部分的变量,此时URL2中的变量还较多,过滤掉的URL就较少,下载的URL就较多,URL2在第二列表中出现的次数就较多。因此第三阈值小于第一阈值可以保证步骤S303-步骤S304未过滤掉的URL,除去参数部分后可以被过滤掉,达到分级去重的目的。
在一些可行的实施方式中,终端可以利用MD5计算上述URL3的hash值,并可以检测该URL3的hash值是否在该第三列表中,若是,可以将该URL3的hash值在该第三列表中的出现次数加1,得到该URL3的hash值在该第三列表中的第三出现次数,并可以判断该第三出现次数是否小于或等于第三阈值,若是(即该第三出现次数小于或等于该第三阈值),则下载上述待下载URL,若否(即该第三出现次数大于该第三阈值),则丢弃上述待下载URL,即不下载该待下载URL。若否,则可以对该URL3进行第二泛化处理得到URL4。该第二泛化处理用于将URL3的路径部分中目标类型的至少一个字符替换为目标字符,如将该URL3的路径部分中的一个或多个数字替换为预设的单个数字“1”。其中,第三列表可以用于存储历史记录中已下载的URL除去参数部分后得到的URL,再经过MD5计算后得到的hash值。因为hash函数是将任意大小的数据转换成特定大小的数据的函数,且已下载列表(第三列表)中存储的是URL的hash值,而不是完整的URL,可以进一步减少存储空间,同时在检测URL3是否在第三列表中时,可以进一步提高处理效率。
在一些可行的实施方式中,终端在检测出该URL3不在该第三列表中时,终端可以将该URL3加入该第三列表以形成新的第三列表,即更新该第三列表,同时可以将该URL3在该第三列表中的出现次数置为1,并可以对该URL3进行第二泛化处理得到URL4。终端在下载上述待下载URL或丢弃上述待下载URL之后,终端利用最新的第三列表检测下一个待下载URL是否被下载过。终端通过不断更新第三列表,可以更准确地分级过滤掉重复的URL,并且可以进一步提高扫描效率。
在一些可行的实施方式中,若上述待下载URL为某个网站中爬取到的第一个URL,那么第三列表可以为空(因为此时没有已下载的URL)。
S307,当检测到URL4在第四列表中时,检测URL4在第四列表中的第四出现次数是否小于或等于第四阈值,若是,则下载待下载URL。
S308,当检测到URL4不在第四列表中时,下载待下载URL。
在一些可行的实施方式中,终端可以检测第四列表中是否存在与上述URL4相同的URL,若存在,说明该URL4在该第四列表中,则可以将该URL4在该第四列表中的出现次数加1,得到该URL4在该第四列表中的第四出现次数,并可以检测该第四出现次数是否小于或等于第四阈值,若是(即该第四出现次数小于或等于该第四阈值),则下载上述待下载URL,若否(即第四出现次数大于该第四阈值),则丢弃上述待下载URL,即不下载该待下载URL。若终端检测到该第四列表中不存在该URL4,说明该URL4不在该第四列表中,则可以直接下载上述待下载URL。其中,第四列表可以用于存储历史记录中已下载URL除去参数部分并经过上述第二泛化处理后得到的URL。终端通过判断除去参数部分且经过第二泛化处理后得到的URL4是否已经被下载过,从而判断出是否需要下载待下载URL,可以过滤掉路径部分不同的待下载URL,减少了待下载URL中的变量,进而丢弃的待下载URL多,下载到的重复URL少,在保证准确率的同时进一步提高了扫描效率。需要说明的是,该第四阈值小于或等于上述第三阈值,上述第三阈值可以小于或等于上述第一阈值,上述第一阈值小于或等于上述第二阈值,该第四阈值为大于或等于0的整数。第四阈值小于第三阈值可以保证步骤S305-步骤S306未过滤掉的URL,经过第二泛化处理后可以被过滤掉,达到分级去重的目的。
在一些可行的实施方式中,终端可以利用MD5计算上述URL4的hash值,并可以检测该URL4的hash值是否在该第四列表中,若是,可以将该URL4的hash值在该第四列表中的出现次数加1,得到该URL4的hash值在该第四列表中的第四出现次数,并可以判断该第四出现次数是否小于或等于第四阈值,若是(即该第四出现次数小于或等于该第四阈值),则下载上述待下载URL,若否(即该第四出现次数大于该第四阈值),则丢弃上述待下载URL,即不下载该待下载URL。若否,则可以直接下载上述待下载URL。其中,第四列表可以用于存储历史记录中已下载的URL除去参数部分且经过上述第二泛化处理后得到的URL,再经过MD5计算后得到的hash值。因为hash函数是将任意大小的数据转换成特定大小的数据的函数,且已下载列表(第四列表)中存储的是URL的hash值,而不是完整的URL,可以进一步减少存储空间,同时在检测URL4是否在第四列表时,可以进一步提高处理效率。
在一些可行的实施方式中,终端在检测出该URL4不在该第四列表中时,终端可以将该URL4加入该第四列表以形成新的第四列表,即更新该第四列表,同时可以将URL4在第四列表中的出现次数置为1,并可以下载上述待下载URL。终端在下载上述待下载URL或丢弃上述待下载URL之后,终端利用最新的第四列表检测下一个待下载URL是否被下载过。终端通过不断更新第四列表,可以更准确地过滤掉重复的URL,并且可以进一步提高扫描效率。
在一些可行的实施方式中,若上述待下载URL为某个网站中爬取到的第一个URL,那么第四列表可以为空(因为此时没有已下载的URL)。
本申请实施例通过对待下载URL进行分级去重,逐级减少待下载URL中的变量,并根据逐级减少变量后的URL判断待下载URL是否已下载,若在该级就判断出待下载URL已下载,则丢弃待下载URL,若该级就确定待下载URL未下载,则下载待下载URL,若该级无法判断出待下载URL是否已下载,则进入下一级判断,直至判断出待下载URL已下载或未下载。通过更细化的分级去重方案,不仅能够减少下载到重复URL的数量,提高WEB漏洞扫描系统的扫描效率,还可以提高去重的准确率。
参见图4,是本申请实施例提供的URL去重装置的一示意性框图。本申请实施例提供的URL去重装置包括:
处理模块10,用于当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL。其中,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL。
第一获取模块20,用于当检测到该第二URL在该第二列表中时,获取该第二URL在该第二列表中的第一出现次数。其中,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL。
下载模块30,用于当该第一出现次数小于或等于第一阈值时,则下载该待下载URL。
在一些可行的实施方式中,该装置还包括:
第二获取模块40,用于当检测到该待下载URL经过该目标泛化处理后得到的该第一URL在该第一列表中时,获取该第一URL在该第一列表中的第二出现次数;上述下载模块30,还用于当该第二出现次数小于或等于第二阈值时,下载该待下载URL。其中,该第二阈值大于或等于该第一阈值,该第一阈值为大于或等于0的整数。
在一些可行的实施方式中,上述处理模块10具体用于:对该待下载URL进行目标泛化处理得到第一URL;利用目标哈希函数计算该第一URL的哈希值;检测该第一URL的哈希值是否在第一列表中;当该第一URL的哈希值不在该第一列表中时,除去该第一URL中的参数部分得到第二URL。其中,该第一列表用于存储历史记录中已下载的URL经过目标泛化处理后得到的URL的哈希值。
在一些可行的实施方式中,该第一URL包括协议、服务器名称、路径以及参数字段;上述处理模块具体用于当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,删除该第一URL中的参数字段得到该第二URL。
在一些可行的实施方式中,上述第一获取模块20具体用于:利用目标哈希函数计算该第二URL的哈希值;检测该第二URL的哈希值是否在该第二列表中;若该第二URL的哈希值在该第二列表中,获取该第二URL的哈希值在该第二列表中的该第一出现次数。其中,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL的哈希值。
在一些可行的实施方式中,上述下载模块30还用于当该第二URL不在该第二列表中时,下载该待下载URL。
具体实现中,上述URL去重装置可通过上述各个模块执行上述图1或者图3所提供的实现方式中各个步骤所提供的实现方式,实现上述各实施例中所实现的功能,具体可参见上述图1或图3所示的方法实施例中各个步骤提供的相应描述,在此不再赘述。
本申请实施例中,URL去重装置可通过在检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL,又在检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL,当该第一出现次数小于或等于第一阈值,就下载该待下载URL,可以减少下载到重复URL的数量,在保证去重准确率的同时提高WEB漏洞扫描系统的扫描效率。
参见图5,是本申请实施例提供的一种终端的示意性框图。如图5所示,本实施例中的终端可以包括:一个或多个处理器501和存储器502。上述处理器501和存储器502通过总线503连接。存储器502用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器502存储的程序指令。其中,处理器501被配置用于调用该程序指令执行:
当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去该第一URL中的参数部分得到第二URL,该目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,该第一列表用于存储历史记录中已下载的URL经过该目标泛化处理后得到的URL;
若检测到该第二URL在该第二列表中,获取该第二URL在该第二列表中的第一出现次数,该第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL;
若该第一出现次数小于或等于第一阈值,则下载该待下载URL。
应当理解,在一些可行的实施方式中,所称处理器501可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器501可执行本申请实施例提供的统一资源定位符URL去重方法中所描述的实现方式,也可执行本申请实施例所描述的URL去重装置的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图1或图3所示的统一资源定位符URL去重方法,具体细节请参照图1或图3所示实施例的描述,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例所述的统一资源定位符URL去重装置或电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请是参照本申请实施例的方法、装置(终端)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种统一资源定位符URL去重方法,其特征在于,包括:
当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去所述第一URL中的参数部分中的参数值得到除去参数值的第二URL,所述目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,所述第一列表用于存储历史记录中已下载的URL经过所述目标泛化处理后得到的URL;
若检测到所述第二URL在第二列表中,获取所述第二URL在所述第二列表中的第一出现次数,所述第二列表用于存储历史记录中已下载的URL除去参数部分中的参数值后得到的URL;
若所述第一出现次数小于或等于第一阈值,则下载所述待下载URL;
当检测到所述第二URL不在所述第二列表中时,除去所述第二URL中的参数部分得到除去参数部分的第三URL;
当检测到所述第三URL在第三列表中时,检测所述第三URL在所述第三列表中的第三出现次数是否小于或等于第三阈值;所述第三列表用于存储历史记录中已下载的URL除去参数部分后得到的URL;
若所述第三出现次数小于或等于所述第三阈值,则下载所述待下载URL;其中,所述第三阈值小于或等于所述第一阈值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述待下载URL经过所述目标泛化处理后得到的所述第一URL在所述第一列表中时,获取所述第一URL在所述第一列表中的第二出现次数;
若所述第二出现次数小于或等于第二阈值,下载所述待下载URL;
其中,所述第二阈值大于或等于所述第一阈值,所述第一阈值为大于或等于0的整数。
3.根据权利要求1所述的方法,其特征在于,所述当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去所述第一URL中的参数部分中的参数值得到除去参数值的第二URL,包括:
对所述待下载URL进行目标泛化处理得到第一URL;
利用目标哈希函数计算所述第一URL的哈希值;
检测所述第一URL的哈希值是否在第一列表中,所述第一列表用于存储历史记录中已下载的URL经过目标泛化处理后得到的URL的哈希值;
当所述第一URL的哈希值不在所述第一列表中时,除去所述第一URL中的参数部分中的参数值得到除去参数值的第二URL。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一URL包括协议、服务器名称、路径以及参数字段,所述参数字段包括参数值;所述除去所述第一URL中的参数部分得到第二URL,包括:
删除所述第一URL中的参数字段中的参数值得到所述第二URL。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述若检测到所述第二URL在所述第二列表中,获取所述第二URL在所述第二列表中的第一出现次数,包括:
利用目标哈希函数计算所述第二URL的哈希值;
检测所述第二URL的哈希值是否在所述第二列表中,所述第二列表用于存储历史记录中已下载的URL除去参数部分后得到的URL的哈希值;
若所述第二URL的哈希值在所述第二列表中,获取所述第二URL的哈希值在所述第二列表中的所述第一出现次数。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若所述第二URL不在所述第二列表中,则下载所述待下载URL。
7.一种URL去重装置,其特征在于,包括:
处理模块,用于当检测到待下载URL经过目标泛化处理后得到的第一URL不在第一列表中时,除去所述第一URL中的参数部分中的参数值得到除去参数值的第二URL,所述目标泛化处理用于将URL中相同类型的多个连续字符替换为单个字符,所述第一列表用于存储历史记录中已下载的URL经过所述目标泛化处理后得到的URL;
第一获取模块,用于当检测到所述第二URL在第二列表中时,获取所述第二URL在所述第二列表中的第一出现次数,所述第二列表用于存储历史记录中已下载的URL除去参数部分中的参数值后得到的URL;
下载模块,用于当所述第一出现次数小于或等于第一阈值时,则下载所述待下载URL;
处理模块,还用于当检测到所述第二URL不在所述第二列表中时,除去所述第二URL中的参数部分得到除去参数部分的第三URL;
下载模块,还用于当检测到所述第三URL在第三列表中时,检测所述第三URL在所述第三列表中的第三出现次数是否小于或等于第三阈值;所述第三列表用于存储历史记录中已下载的URL除去参数部分后得到的URL;若所述第三出现次数小于或等于所述第三阈值,则下载所述待下载URL;其中,所述第三阈值小于或等于所述第一阈值。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于当检测到所述待下载URL经过所述目标泛化处理后得到的所述第一URL在所述第一列表中时,获取所述第一URL在所述第一列表中的第二出现次数;
所述下载模块,还用于当所述第二出现次数小于或等于第二阈值时,下载所述待下载URL;
其中,所述第二阈值大于或等于所述第一阈值,所述第一阈值为大于或等于0的整数。
9.一种终端,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
CN201810733716.0A 2018-07-05 2018-07-05 一种统一资源定位符url去重方法及装置 Active CN108920668B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810733716.0A CN108920668B (zh) 2018-07-05 2018-07-05 一种统一资源定位符url去重方法及装置
PCT/CN2018/108715 WO2020006909A1 (zh) 2018-07-05 2018-09-29 一种url去重方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810733716.0A CN108920668B (zh) 2018-07-05 2018-07-05 一种统一资源定位符url去重方法及装置

Publications (2)

Publication Number Publication Date
CN108920668A CN108920668A (zh) 2018-11-30
CN108920668B true CN108920668B (zh) 2023-04-18

Family

ID=64425420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810733716.0A Active CN108920668B (zh) 2018-07-05 2018-07-05 一种统一资源定位符url去重方法及装置

Country Status (2)

Country Link
CN (1) CN108920668B (zh)
WO (1) WO2020006909A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855676B (zh) * 2019-11-15 2021-08-31 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN113449232A (zh) * 2020-03-27 2021-09-28 北京沃东天骏信息技术有限公司 一种数据处理方法、装置、设备和存储介质
CN116432190B (zh) * 2023-06-15 2023-09-08 杭州美创科技股份有限公司 接口未授权访问检测方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法
CN103823825A (zh) * 2012-08-30 2014-05-28 埃森哲环球服务有限公司 在线内容采集
CN106815247A (zh) * 2015-11-30 2017-06-09 北京国双科技有限公司 统一资源定位符获取方法及装置
CN106844389A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 网络资源地址url的处理方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365865B (zh) * 2012-03-29 2017-07-11 腾讯科技(深圳)有限公司 数据存储方法、数据下载方法及其装置
CN104933056B (zh) * 2014-03-18 2019-08-13 腾讯科技(深圳)有限公司 统一资源定位符去重方法及装置
CN106547764A (zh) * 2015-09-18 2017-03-29 北京国双科技有限公司 网页数据去重的方法及装置
CN106919570B (zh) * 2015-12-24 2020-12-22 国家新闻出版广电总局广播科学研究院 一种面向网络新媒体的页面链接去重扫描方法及装置
CN107885820A (zh) * 2017-11-07 2018-04-06 北京小度互娱科技有限公司 基于爬虫系统的广度遍历定向抓取方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法
CN103823825A (zh) * 2012-08-30 2014-05-28 埃森哲环球服务有限公司 在线内容采集
CN106815247A (zh) * 2015-11-30 2017-06-09 北京国双科技有限公司 统一资源定位符获取方法及装置
CN106844389A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 网络资源地址url的处理方法和装置

Also Published As

Publication number Publication date
CN108920668A (zh) 2018-11-30
WO2020006909A1 (zh) 2020-01-09

Similar Documents

Publication Publication Date Title
CN108984703B (zh) 一种统一资源定位符url去重方法及装置
CN108881294B (zh) 基于网络攻击行为的攻击源ip画像生成方法以及装置
CN108920668B (zh) 一种统一资源定位符url去重方法及装置
CN107241296B (zh) 一种Webshell的检测方法及装置
CN102833258B (zh) 网址访问方法及系统
CN114363036B (zh) 一种网络攻击路径获取方法、装置及电子设备
CN106899549B (zh) 一种网络安全检测方法及装置
CN109862021B (zh) 威胁情报的获取方法及装置
CN107193870B (zh) 网页内容的提取方法和系统
CN101146111B (zh) 一种文件下载的方法及设备
JP6169497B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム
CN113434796A (zh) 页面缓存的操作方法及装置、存储介质及电子装置
CN111819559A (zh) 以量化步长使用机器学习模型用于恶意软件检测
CN110545489A (zh) 自适应流媒体的播放方法、系统及客户端
CN112395603B (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
CN106897297B (zh) 网站栏目间访问路径的确定方法及装置
CN109361674B (zh) 旁路接入的流式数据检测方法、装置以及电子设备
CN108173825B (zh) 一种网络流量审计方法及装置
CN110868382A (zh) 一种基于决策树的网络威胁评估方法、装置及存储介质
CN106815247B (zh) 统一资源定位符获取方法及装置
CN109525586B (zh) 基于url的安全策略配置方法和装置
CN109472138B (zh) 一种检测snort规则冲突的方法、装置和存储介质
CN113810342A (zh) 一种入侵检测方法、装置、设备、介质
CN112445771A (zh) 网络流量的数据处理方法、装置、设备及存储介质
JP6378808B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant