CN111143720A - 一种url去重方法、装置及存储介质 - Google Patents

一种url去重方法、装置及存储介质 Download PDF

Info

Publication number
CN111143720A
CN111143720A CN201811312516.4A CN201811312516A CN111143720A CN 111143720 A CN111143720 A CN 111143720A CN 201811312516 A CN201811312516 A CN 201811312516A CN 111143720 A CN111143720 A CN 111143720A
Authority
CN
China
Prior art keywords
url
crawled
processing result
data list
bloom filter
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.)
Pending
Application number
CN201811312516.4A
Other languages
English (en)
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.)
SF Technology Co Ltd
SF Tech Co Ltd
Original Assignee
SF Technology 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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201811312516.4A priority Critical patent/CN111143720A/zh
Publication of CN111143720A publication Critical patent/CN111143720A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种URL去重方法、装置及存储介质,该方法包括:获取待爬取的网页对应的待爬取URL;对该待爬取URL的特征进行哈希处理,得到该待爬取URL的处理结果;判断该处理结果是否在布隆过滤器中,若该处理结果在该布隆过滤器中,则判断该URL的该特征是否在预先建立的数据列表中;如果该特征在该数据列表中,则舍弃该待爬取URL。本申请实施例的URL去重方法,利用预先建立的数据列表再次确认待爬取URL是否被爬取过,弥补了布隆过滤器的误判,避免了由于布隆过滤器的误判造成的对未爬取的URL的舍弃,提高了URL去重的准确性。

Description

一种URL去重方法、装置及存储介质
技术领域
本申请一般涉及计算机技术领域,具体涉及一种URL去重方法、装置及存储介质。
背景技术
在利用搜索引擎获取信息的过程中,网络爬虫从互联网信息中主动抓取程序或脚本,将互联网上的网页下载到本地形成一个互联网内容的镜像备份,为用户提供数据来源。为了获取到尽可能多的网络信息,通常将网络爬虫分布到多个机器集群中进行爬取。
为了避免对已经爬取过的网页进行重复的爬取,即需要对已经爬取过的网页对应的统一资源定位符(Uniform Resource Locator,URL)进行去重。目前通常采用的去重方式有基于数据库的去重、基于内存的去重、基于磁盘路径的去重及基于布隆过滤器的去重。
在利用布隆过滤器进行URL去重时,判断待爬取的URL的哈希函数值是否在布隆过滤器中,以确定该URL是否被爬取过时,由于在将某个已爬取URL的哈希函数值输入布隆过滤器中时,可能引起其他位置元素值的置1,导致其他未爬取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去重的准确性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例的提供的URL去重方法的流程示意图;
图2为本申请又一实施例提供的URL去重方法的流程示意图;
图3为本申请实施例提供的URL去重装置的结构示意图;
图4为本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
可以理解,在网络爬虫爬取互联网中的程序或脚本过程中,首先可以选取部分种子统一资源定位符URL,如符合预定格式的统一资源定位符URL。统一资源定位符URL(Uniform Resource Locator)是从互联网上得到的资源的位置和访问地址的一种表示形式,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。作为信息获取资源,可以通过将这些URL放入到待爬取URL队列,得到爬取对象。对于爬取对象解析可以得到与该URL对应的网页内容;网页内容即为爬取对象对应的内容,将该内容存储至对应的存储装置或设备,然后将该URL放入已爬取队列中,以避免重复爬取相同,增加服务器的负荷。
可以理解,本申请实施例提供的URL去重方法,可以应用在服务器或执行URL去重的装置中。
为了便于理解和说明,下面通过图1至图4详细解释本申请实施例提供的URL去重方法及装置。
图1为本申请实施例提供的URL去重方法的流程示意图,如图1所示,该方法可以包括:
S1,获取待爬取的网页对应的待爬取URL。
S2,对该待爬取URL的特征进行哈希处理,得到该待爬取URL的处理结果。
S3,判断该处理结果是否在布隆过滤器中。
S4,判断该特征是否在预先建立的数据列表中,该数据列表中包括已爬取的URL的至少一个特征。
S5,舍弃该待爬取URL。
本申请实施例中可以通过Java代码从网页中获取URL,也可以通过爬虫工具,例如JSON-handle、User-Agent Switcher等,从网页中自动提取URL。在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足***的一定停止条件。还可以根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到***的某一条件时停止。所有被爬虫抓取的网页将会被***存储,然后进行分析、过滤,并建立索引,以便之后的查询和检索。
获取需要爬取的网页对应的URL,该待爬取URL可以为网页对应的链接地址。在获取待爬取URL之后,可以对获取的待爬取URL的特征进行哈希处理,得到处理结果。即可以通过哈希算法计算该待爬取URL的特征对应的哈希值,如将待爬取URL的全部字符串或部分字符串转换为二进制的哈希值。
URL的特征,例如可以是链接地址的完整字符串,或者是特定字符串,例如URL中数字标识的字符串。例如,对该URL的https://item.jd.com/5461975.html所有字符串进行哈希处理。
哈希处理,例如可以是加法哈希;移位哈希;乘法哈希;除法哈希;查表哈希;混合哈希等处理方式。移位哈希是通过遍历数据中的元素然后每次对初始值进行移位操作。
本申请实施例中对待爬取URL特征的哈希处理,例如可以采用一种哈希算法或多种哈希算法来处理。然后判断计算或处理得到该待爬取URL的处理结果,即哈希值,是否在布隆过滤器中。根据判断结果决定是否启动判断该待爬取URL的特征是否在预先建立的数据列表中。即当该处理结果在布隆过滤器中时,则进一步判断该待爬取URL的特征是否在预先建立的数据列表中。
布隆过滤器是一个m位的位数组,查询待爬取URL的处理结果是否在布隆过滤器中,需要将待爬取URL的处理结果作为k个哈希函数的输入,得到k个数组位置。这些位置中只要有任意一个是0,元素肯定不在这个集合里。如果元素在集合里,那么这些位置在***这个元素时都被置为1。如果这些位置都是1,说明处理结果可能在集合里,所有这些位置是在其他处理结果***过程中,被偶然置为1,就会导致一次“误报”。
因此在判断处理结果在布隆过滤器中,不能准确地确定处理结果对应的待爬取URL一定是被爬取过的对象,当确定待爬取URL的处理结果在布隆过滤器中,进一步判断该待爬取URL的特征是否在预先建立的数据列表中,仅当该待爬取URL的特征在数据列表中时,则表示该URL已经被爬取过,此时可以舍弃该待爬取URL,即完成对该待爬取URL的去重。预先建立的数据列表用于存储已经爬取过URL的特征,通过特征比对进一步验证待爬取URL是否被爬取过,从而提高URL去重的准确性。
本申请实施例提供的URL去重方法,可以判断待爬取URL的哈希处理结果是否在布隆过滤器中,当在布隆过滤器中时,进一步判断该待爬取URL的特征是否在预先建立的数据列表中,从而可以准确的确定该待爬取URL是否被爬取过,弥补了布隆过滤器的误判,提高了URL去重的准确性,进而提高了网络爬虫的爬取效率。
在本申请提供的又一实施例中,为了提高URL去重效率,还可以在对获取的待爬取URL进行初步的判断。下面通过图2详细解释本申请又一实施例提供的URL去重方法。
图2所示为本申请又一实施例提供的URL去重方法的流程示意图,如图2所示,该方法可以包括:
S10,获取待爬取的网页对应的待爬取URL。
S20,判断该待爬取URL是否符合预定格式。
具体的,可以在获取到待爬取URL后,可以对该待爬取URL进行初步的判断。可以理解,在进行网页爬取时,可以预先设置待爬取网页对应的URL符合的基本格式。则在判断中,如果发现该获取的待爬取URL不符合预定格式,可以直接舍弃该待爬取URL,返回S10,继续获取下一个URL。如果符合预定格式,则可以执行S30。
该预定格式可以为URL字符串中需要包括的每个部分,如包括协议、服务器名称、路径和文件名。即比较待爬取的URL的每个部分是否与预定的格式中的每部分一致。
例如,一个应用场景下,在物流行业内,需要对托寄物类型进行合理的分类。而如何分类,则可以按照目前已有的分类方式,以适应用户需要。如现有的各个购物平台上的商品的分类方式,可以很好的应用在托寄物分类中。因此,在获取商品的分类时,需要爬取购物平台上商品的网页。如在京东购物平台上,通过爬取大量的京东网页信息可以获取其三级分类。
可以理解,该商品的三级分类的网页的URL通常具有以下格式:https://item.jd.com/XXXX.html。如https://item.jd.com/5461975.html及https://item.jd.com/4143668.html等。
因此,可以提前预设待爬取的网页对应的URL的格式为https://item.jd.com/XXXX.html。则获取到一个URL后,如https://item.jd.hk/4806715.html,这种格式的网页是没有三级分类的。即获取的该URL的格式不符合上述的预定格式,则可以直接舍弃该URL,继续获取下一个URL。
S30,判断该待爬取URL的特征是否包括指定特征,该指定特征为该待爬取URL的ID标识符。
具体的,可以进一步对满足预定的格式的待爬取URL作判断,确定其是否包括指定特征。如果包括指定特征,则可以执行S40,否则,可以直接舍弃该URL,返回S10继续获取下一个URL。
例如,可以判断获取的待爬取URL是否包括ID标识符。如获取到的URL为https://item.jd.com/5461975.html,经过判断确定该待爬取URL包括ID标识符5461975。
可以理解,本实施例对上述的S20及S30的执行顺序不做限制。例如,在另一实施例中,可以先判断获取的URL是否包括指定特征,在确定包括指定特征后可以再判断是否符合预定格式。
还可以理解,再一实施例中,可以仅仅判断获取的待爬取URL是否符合预定格式,在符合预定格式后,可以跳过S30,直接执行S50。
或者,还可以在获取需要爬取的网页对应的待爬取URL后,仅仅判断获取的待爬取URL是否包括指定特征,并不判断是否符合预定格式。即可以在S10后,跳过S20,直接执行S30。
S40,提取该待爬取URL的指定特征。
例如,提取https://item.jd.com/5461975.html的ID标识符5461975。
本申请实施例提供的URL去重方法,通过判断URL是否符合预定格式和/或判断URL中是否包括指定特征,提高了URL的处理效率,再通过提取URL中包括的指定特征,并对提取的指定特征进行哈希处理,提高了URL去重效率。
S50,对该待爬取URL的特征进行哈希处理,得到该待爬取URL的处理结果。
具体的,在执行了S40后,则该步骤中,可以对提取到的该待爬取URL的指定特征进行哈希处理。如对该https://item.jd.com/5461975.html的ID标识符5461975进行哈希处理,得到处理结果,即将ID标识符5461975进行处理得到二进制字符串。
如果没有执行S40,则可以对获取到的待爬取URL的所有字符串进行哈希处理。如对获取到的https://item.jd.com/5461975.html进行哈希处理,得到处理结果。
S60,判断该处理结果是否在布隆过滤器中。
具体的,可以判断处理后的ID或URL是否在布隆过滤器中。如果该处理结果不在布隆过滤器中,则表示该待爬取URL肯定没有被爬取过,则可以执行S61。
如果该处理结果在布隆过滤器中,由于布隆过滤器的极小误判性,说明该待爬取URL可能被爬取过,也可能没被爬取过,此时,可以执行S70。
可以理解,本申请实施例中,在判断处理后的ID或URL是否在布隆过滤器中时,涉及的布隆过滤器就是一个m位的位数组,所有位的值都为0,并定义了k个不同的符合均匀随机分布的哈希函数。则对于需要加入布隆过滤器的元素,可以经过k个哈希函数产生k个随机数,使得位数组的相应位置均置为1。即每个函数把集合元素映射到位数组的m位中的某一位。
则对于要加入的某个新元素,首先需要判断该元素是否已经加入了布隆过滤器。本实施例中,就是对得到的URL的哈希值,首先判断URL的哈希值是否在布隆过滤器中,即把计算得到的该URL的k个哈希值作为输入,得到k个数组位置。如果对应位置中只要有任意一个是0,则表示该URL的对应的哈希值一定不在布隆过滤器中。此时,可以把该新元素,即该URL的哈希值加入到该布隆过滤器,即S61。若全为1,则表示该元素已经在之前的集合中。
可以理解,当所有位置都为1,由于数组位置上的元素可能在其他元素***过程中被偶然置1了,所以表示该URL对应的哈希值可能在布隆过滤器中,或者可能不在。此时,需要执行S70。
S61,将该待爬取URL放入预先建立的待爬取队列,并在完成爬取该待爬取URL之后,将该处理结果添加到所述布隆过滤器中,以及将该待爬取URL的特征添加到该数据列表中。
例如,将该待爬取URL放入待爬取队列,并在对该待爬取URL爬取完后,可以将该URL的哈希值放入到该布隆过滤器,并将该URL的所有字符https://item.jd.com/5461975.html放入预先建立的数据列表中,或者将该URL的ID标识符5461975放入预先建立的数据列表中。
S70,判断该待爬取URL的特征是否在该数据列表中。
S71,将该待爬取URL放入到待爬取队列,并将该待爬取URL的特征放入到该数据列表中。
S80,舍弃该待爬取URL。
具体的,如果经过判断确定该处理结果在布隆过滤器中中,为了进一步确定该待爬取URL是否被爬取过,则可以判断该待爬取URL的特征是否在数据列表中。
如果判断发现该待爬取URL的特征不在数据列表中,则表示该待爬取URL没有被爬取过,则可以执行S71,将该待爬取URL放入到待爬取队列,并将该待爬取URL的特征放入到该数据列表中。然后可以返回S10,继续获取下一个URL。
如果判断发现该待爬取URL的特征在数据列表中,则表示该待爬取URL已经被爬取过,则可以执行S80,舍弃该待爬取URL,该方法结束。并可以返回S10,继续获取下一个URL。
可以理解,该数据列表中包括已爬取的URL的至少一个特征。即该数据列表是提前建立的一个空的列表。当爬取一个URL,则可以将该爬取的URL的特征放入该列表中,从而可以对所有以爬取过的URL进行记录,以供后续判断某个待爬取URL是否被爬取过。即再次维护了一个数据结构,用于后续验证。
本申请实施例中,当待爬取的URL不在布隆过滤器中,或者,当URL的处理结果在布隆过滤器中,但该URL的特征不在数据列表中时,通过将该特征添加到数据列表,以通过更新数据列表中对已爬取URL的特征的记录,提高URL的去重效率。
可选的,该数据列表可以为数组或散列表,或其他方便后续查找验证的数据存储方式。本申请对此不做限制。
图3所示为本申请实施例提供的URL去重装置,该装置300可以包括:
获取模块310,用于获取待爬取的网页对应的待爬取URL。
处理模块320,用于对该待爬取URL的特征进行哈希处理,得到该待爬取URL的处理结果。
第一判断模块330,用于判断该处理结果是否在布隆过滤器中。
第二判断模块340,用于当该处理结果在该布隆过滤器中,则判断该待爬取URL的该特征是否在预先建立的数据列表中,该数据列表中包括已爬取的URL的至少一个特征。
舍弃模块350,用于当该处理结果在该布隆过滤器中,且该待爬取URL的该特征在该数据列表中,舍弃该待爬取URL。
优选的,本申请实施提供的URL去重装置,该装置还包括:
爬取添加模块360,用于当该第一判断结果表示该处理结果不在该布隆过滤器中,将该待爬取URL的该特征放入预先建立的待爬取队列,并在完成爬取所述待爬取URL之后,将该处理结果添加到该布隆过滤器中,以及将该待爬取URL的特征添加到该数据列表中。
优选的,本申请实施提供的URL去重装置,该装置还包括:
特征添加模块370,用于当该第二判断结果表示该待爬取URL的该特征不在该数据列表中,将该待爬取URL的该特征放入到该数据列表中。
优选的,本申请实施提供的URL去重装置,该装置还可以包括:
第三判断模块380,用于判断该待爬取URL是否符合预定格式和/或判断该URL的特征是否包括指定特征,该指定特征为该待爬取URL的ID标识符。
优选的,本申请实施提供的待爬取URL去重装置,该处理模块具体用于:
提取该待爬取URL的该指定特征。
对该指定特征进行哈希处理,得到该待爬取URL的处理结果。
优选的,本申请实施提供的待爬取URL去重装置,该数据列表可以为该数组或散列表。
可以理解,本申请实施例还提供一种服务器,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行所述程序时实现如上所述的通过获取待爬取的网页对应的待爬取URL;对该待爬取URL的特征进行哈希处理,得到该待爬取URL的处理结果;判断该处理结果是否在布隆过滤器中,若所述处理结果在该布隆过滤器中,则判断该特征是否在预先建立的数据列表中;如果该待爬取URL的该特征在该数据列表中,则舍弃该待爬取URL的URL去重方法。
下面参考图4,其示出了适于用来实现本申请实施例的服务器的计算机***400的结构示意图。
如图4所示,计算机***400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)404中的程序而执行各种适当的动作和处理。在RAM 404中,还存储有***400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口404也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口404。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请的URL去重方法实施例,上文参考图1及图2描述的过程可以被实现为计算机软件程序。例如,本公开的URL去重实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行图1及图2的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、处理模块、第一判断模块及舍弃模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描述为“用于获取待爬取的网页对应的待爬取URL”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的应用于URL去重方法。
综上所述,本申请实施例提供的URL去重方法、装置及存储介质,该方法通过对获取的待爬取的网页对应的待爬取URL的特征进行哈希处理,然后判断处理结果是否在布隆过滤器中,在该处理结果在布隆过滤器中时,进而判断该特征是否在预先建立的数据列表中,且当该处理结果在布隆过滤器中,且该特征也在数据列表中时,则确定该URL被爬取过,舍弃该URL,该方法利用预先建立的数据列表再次确认URL是否被爬取过,弥补了布隆过滤器的误判,避免了由于布隆过滤器的误判造成的对未爬取的URL的舍弃,完善了URL去重结果,提高了URL去重效率。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种统一资源定位符URL去重方法,其特征在于,所述方法包括:
获取待爬取的网页对应的待爬取URL;
对所述待爬取URL的特征进行哈希处理,得到所述待爬取URL的处理结果;
判断所述处理结果是否在布隆过滤器中,若所述处理结果在所述布隆过滤器中,则判断所述特征是否在预先建立的数据列表中,其中,所述数据列表中包括已爬取的URL的至少一个特征;
若所述待爬取URL的特征在所述数据列表中,则舍弃所述待爬取URL。
2.根据权利要求1所述的URL去重方法,其特征在于,该方法还包括:
若所述处理结果不在所述布隆过滤器中,则将所述待爬取URL放入预先建立的待爬取队列,并在完成爬取所述待爬取URL之后,将所述处理结果添加到所述布隆过滤器中,以及将所述待爬取URL的特征添加到所述数据列表中;
若所述待爬取URL的所述特征不在所述数据列表中,则将所述待爬取URL的所述特征放入到所述数据列表中。
3.根据权利要求1或2所述的URL去重方法,其特征在于,在获取待爬取的网页对应的待爬取URL之后,在对所述待爬取URL的特征进行哈希处理之前,所述方法还包括:
判断所述待爬取URL是否符合预定格式和/或判断所述待爬取URL的特征是否包括指定特征,所述指定特征为所述待爬取URL的ID标识符。
4.根据权利要求3所述的URL去重方法,其特征在于,当判断所述待爬取URL的特征中包括所述指定特征时,所述对所述待爬取URL的特征进行哈希处理,得到所述待爬取URL的处理结果包括:
提取所述待爬取URL的所述指定特征;
对所述指定特征进行哈希处理,得到所述待爬取URL的处理结果。
5.一种统一资源定位符URL去重装置,其特征在于,所述装置包括:
获取模块,用于获取待爬取的网页对应的待爬取URL;
处理模块,用于对所述待爬取URL的特征进行哈希处理,得到所述待爬取URL的处理结果;
第一判断模块,用于判断所述处理结果是否在布隆过滤器中;
第二判断模块,用于当所述处理结果在所述布隆过滤器中,则判断所述待爬取URL的所述特征是否在预先建立的数据列表中,所述数据列表中包括已爬取的URL的至少一个特征;
舍弃模块,用于当所述处理结果在所述布隆过滤器中,且所述待爬取URL的所述特征在所述数据列表中,舍弃所述待爬取URL。
6.根据权利要求5所述的URL去重装置,其特征在于,所述装置还包括:
爬取添加模块,用于当所述处理结果不在所述布隆过滤器中,将所述待爬取URL的所述特征放入预先建立的待爬取队列,并在完成爬取所述待爬取URL之后,将所述处理结果添加到所述布隆过滤器中,以及将所述待爬取URL的特征添加到所述数据列表中;
特征添加模块,用于当所述待爬取URL的所述特征不在所述数据列表中,将所述待爬取URL的所述特征放入到所述数据列表中。
7.根据权利要求5或6所述的URL去重装置,其特征在于,所述装置还包括:
第三判断模块,用于判断所述待爬取URL是否符合预定格式和/或判断所述待爬取URL的特征是否包括指定特征,所述指定特征为所述待爬取URL的ID标识符。
8.根据权利要求7所述的URL去重装置,其特征在于,所述处理模块具体用于:
提取所述待爬取URL的所述指定特征;
对所述指定特征进行哈希处理,得到所述待爬取URL的处理结果。
9.根据权利要求5所述的URL去重装置,其特征在于,所述数据列表为数组或散列表。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于实现如权利要求1-4任一项所述的URL去重方法。
CN201811312516.4A 2018-11-06 2018-11-06 一种url去重方法、装置及存储介质 Pending CN111143720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811312516.4A CN111143720A (zh) 2018-11-06 2018-11-06 一种url去重方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811312516.4A CN111143720A (zh) 2018-11-06 2018-11-06 一种url去重方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111143720A true CN111143720A (zh) 2020-05-12

Family

ID=70515935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811312516.4A Pending CN111143720A (zh) 2018-11-06 2018-11-06 一种url去重方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111143720A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质
CN113377812A (zh) * 2021-01-08 2021-09-10 北京数衍科技有限公司 大数据的订单去重方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663058A (zh) * 2012-03-30 2012-09-12 华中科技大学 一种分布式网络爬虫***中的url去重方法
CN104899323A (zh) * 2015-06-19 2015-09-09 成都国腾实业集团有限公司 一种用于idc有害信息监测平台的爬虫***
CN106649346A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据重复性校验方法及装置
CN106886602A (zh) * 2017-03-02 2017-06-23 上海斐讯数据通信技术有限公司 一种应用爬取方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663058A (zh) * 2012-03-30 2012-09-12 华中科技大学 一种分布式网络爬虫***中的url去重方法
CN104899323A (zh) * 2015-06-19 2015-09-09 成都国腾实业集团有限公司 一种用于idc有害信息监测平台的爬虫***
CN106649346A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据重复性校验方法及装置
CN106886602A (zh) * 2017-03-02 2017-06-23 上海斐讯数据通信技术有限公司 一种应用爬取方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质
CN113377812A (zh) * 2021-01-08 2021-09-10 北京数衍科技有限公司 大数据的订单去重方法和装置
CN113377812B (zh) * 2021-01-08 2024-06-18 北京数衍科技有限公司 大数据的订单去重方法和装置

Similar Documents

Publication Publication Date Title
EP3251031B1 (en) Techniques for compact data storage of network traffic and efficient search thereof
US8515935B1 (en) Identifying related queries
CN105589943B (zh) 搜索结果页面的图片适应性处理的方法、装置和服务器
US9959254B2 (en) Representation of an element in a page via an identifier
CN110399546B (zh) 基于网络爬虫的链接去重方法、装置、设备及存储介质
CN108228799B (zh) 对象索引信息的存储方法及装置
EP1713010A2 (en) Using attribute inheritance to identify crawl paths
CN108959359B (zh) 一种统一资源定位符语义去重方法、装置、设备和介质
KR102018445B1 (ko) 캐스캐이딩 스타일 시트 파일들의 압축
CN109241003B (zh) 文件管理方法和装置
CN111143720A (zh) 一种url去重方法、装置及存储介质
CN106547803B (zh) 爬取网站增量资源的方法和装置
CN114911830A (zh) 基于时序数据库的索引缓存方法、装置、设备及存储介质
CN105468412B (zh) 动态打包方法和装置
CN107085615B (zh) 文本消重***、方法、服务器及计算机存储介质
CN111368227A (zh) 一种url处理方法以及装置
CN107301186B (zh) 一种无效数据的识别方法及装置
CN114020946A (zh) 一种基于多图检索数据融合的目标判断处理方法和***
CN110825947B (zh) Url去重方法、装置、设备与计算机可读存储介质
CN112287201A (zh) 对爬虫的请求去重的方法、装置、介质以及电子设备
CN106126670B (zh) 运营数据排序处理方法及装置
CN108595453B (zh) Url标识映射获取方法及装置
CN106951505B (zh) 网页信息获得方法及***
CN107070987B (zh) 用于分布式对象存储***的数据获取方法及***
CN111581487B (zh) 一种信息处理方法及装置

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