网页检测方法和装置与流程

文档序号:12719692阅读:210来源:国知局
网页检测方法和装置与流程

本申请涉及互联网领域,具体而言,涉及一种网页检测方法和装置。



背景技术:

在互联网领域,网站上的网页会不断更新,而网站更新量也是评价网站绩效的一项重要指标。这里的网站更新量指的是在一定时间内网站更新的网页的数量。在统计网站更新量的过程中,如何确定哪些网页是网站在一定时间内更新的网页是一个难以解决的问题。目前,通常是通过爬虫程序爬取网站上的网页,然后逐个网页分析是否为更新的网页。然而,如果要统计更新量的网站越大,每次爬取的网页数就越多,而这些网页中大部分不是更新的网页,使得需要检测的网页数量大,导致更新网页的检测过程效率低。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种网页检测方法和装置,以至少解决由于检测的网页数量大造成更新网页的检测过程效率低的技术问题。

根据本申请实施例的一个方面,提供了一种网页检测方法,包括:对目标网站在预设时间段内的访问日志进行解析,得到在所述预设时间段内多个被访问网页;从所述多个被访问网页中确定出目标网页,所述目标网页为在所述预设时间段之前未被访问的网页;在预先设置的搜索引擎中搜索所述目标网页的统一资源定位符,得到搜索结果;对所述搜索结果进行解析,在解析得到所述目标网页的发布时间时,判断所述发布时间是否处于所述预设时间段内;以及在判断出所述发布时间处于所述预设时间段内时,确定所述目标网页为在所述预设时间段内更新的网页。

进一步地,在预先设置的搜索引擎中搜索所述目标网页的统一资源定位符,得到搜索结果包括:在预先设置的多个搜索引擎中搜索所述目标网页的统一资源定位符,得到与多个搜索引擎一一对应的多个搜索结果;对所述搜索结果进行解析包括:分别对所述多个搜索结果进行解析,其中,在解析出一个发布时间时,将所述一个发布时 间作为所述目标网页的发布时间;在解析出多个发布时间时,将多个发布时间中时间最早的发布时间作为所述目标网页的发布时间。

进一步地,在对所述搜索结果进行解析之后,所述方法还包括:在未解析到所述目标网页的发布时间时,爬取所述搜索引擎收录所述目标网页的收录时间;判断所述收录时间是否处于所述预设时间段内;在判断出所述收录时间处于所述预设时间段内时,确定所述目标网页为在所述预设时间段内更新的网页;在判断出所述收录时间处于所述预设时间段之外时,确定所述目标网页不是在所述预设时间段内更新的网页。

进一步地,从所述多个被访问网页中确定出目标网页包括:逐条将所述多个被访问网页的统一资源定位符与在所述预设时间段之前记录的网页的统一资源定位符进行匹配,在所述多个被访问网页中被访问网页的统一资源定位符未匹配到在所述预设时间段之前记录的所述目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为所述目标网页。

进一步地,逐条将所述多个被访问网页的统一资源定位符与在所述预设时间段之前记录的网页的统一资源定位符进行匹配,在所述多个被访问网页中被访问网页的统一资源定位符未匹配到在所述预设时间段之前记录的所述目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为所述目标网页包括:对所述多个被访问网页中每一个被访问网页的统一资源定位符进行哈希编码,得到所述多个被访问网页中每一个被访问网页的统一资源定位符的哈希值;在预先设置的布隆过滤器中查询所述多个被访问网页中每一个被访问网页的统一资源定位符的哈希值,其中,所述布隆过滤器中存储有所述目标网站上在所述预设时间段之前发布的网页的统一资源定位符的哈希值;将未查询到的哈希值对应的网页作为所述目标网页。

根据本申请实施例的另一方面,还提供了一种网页检测装置,包括:解析单元,用于对目标网站在预设时间段内的访问日志进行解析,得到在所述预设时间段内多个被访问网页;第一确定单元,用于从所述多个被访问网页中确定出目标网页,所述目标网页为在所述预设时间段之前未被访问的网页;搜索单元,用于在预先设置的搜索引擎中搜索所述目标网页的统一资源定位符,得到搜索结果;第一判断单元,用于对所述搜索结果进行解析,在解析得到所述目标网页的发布时间时,判断所述发布时间是否处于所述预设时间段内;以及第二确定单元,用于在判断出所述发布时间处于所述预设时间段内时,确定所述目标网页为在所述预设时间段内更新的网页。

进一步地,所述搜索单元具体用于在预先设置的多个搜索引擎中搜索所述目标网页的统一资源定位符,得到与多个搜索引擎一一对应的多个搜索结果;所述第一判断单元包括:解析模块,用于分别对所述多个搜索结果进行解析,其中,在解析出一个 发布时间时,将所述一个发布时间作为所述目标网页的发布时间;在解析出多个发布时间时,将多个发布时间中时间最早的发布时间作为所述目标网页的发布时间。

进一步地,所述装置还包括:爬取单元,用于在对所述搜索结果进行解析之后,在未解析到所述目标网页的发布时间时,爬取所述搜索引擎收录所述目标网页的收录时间;第二判断单元,用于判断所述收录时间是否处于所述预设时间段内;第三确定个单元,用于在判断出所述收录时间处于所述预设时间段内时,确定所述目标网页为在所述预设时间段内更新的网页;在判断出所述收录时间处于所述预设时间段之外时,确定所述目标网页不是在所述预设时间段内更新的网页。

进一步地,所述第一确定单元具体用于逐条将所述多个被访问网页的统一资源定位符与在所述预设时间段之前记录的网页的统一资源定位符进行匹配,在所述多个被访问网页中被访问网页的统一资源定位符未匹配到在所述预设时间段之前记录的所述目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为所述目标网页。

进一步地,所述第一确定单元包括:编码模块,用于对所述多个被访问网页中每一个被访问网页的统一资源定位符进行哈希编码,得到所述多个被访问网页中每一个被访问网页的统一资源定位符的哈希值;查询模块,用于在预先设置的布隆过滤器中查询所述多个被访问网页中每一个被访问网页的统一资源定位符的哈希值,其中,所述布隆过滤器中存储有所述目标网站上在所述预设时间段之前发布的网页的统一资源定位符的哈希值;确定模块,用于将未查询到的哈希值对应的网页作为所述目标网页。

根据本申请实施例,通过对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页;从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页;在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果;对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内,在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。由于仅检测预设时间段内的被访问网页,相对于现有技术中爬取网站的所有网页而言,其网页的数量大大减少,解决了由于检测的网页数量大造成更新网页的检测过程效率低的技术问题,提高了更新网页的检测效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图 中:

图1是根据本申请实施例的网页检测方法的流程图;

图2是根据本申请实施例的网页检测装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例,提供了一种网页检测方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例的网页检测方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页。

其中,预设时间段可以是指待检测的时间段,例如,如果要检测目标网站在2015年12月1日更新的网页,则可以从目标网站的访问日志中确定出这一天的访问日志,然后从中解析出这一天被访问网页。其中,目标网站的访问日志可以从目标网站的服务器上获取,也可以通过设置在目标网站上的监测代码监测得到。由于更新的网页通常会吸引网络用户的关注和访问,因此,本实施例中,在检测预设时间段内的更新的 网页时,确定出该预设时间段内的被访问网页,以便于从中确定初次被访问的网页。

步骤S104,从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页。

由于在预设时间段内的被访问网页包括在预设时间段内更新的网页,也包括在预设时间段之间就已经更新的网页,本实施例中,从上述多个被访问网页中初次被访问的网页,即在预设时间段之前未被访问的网页,也即是目标网页。

可选地,本实施例中可以预先统计出在预设时间段之前被访问的网页,并进行记录,然后将上述多个被访问网页分别与记录的网页进行匹配,如果匹配到,则表明相应的网页在预设时间段之间也被访问过,则该网页不是更新的网页,反之,如果未匹配到,则表明相应的网页可能是在预设时间段内更新的网页,则作为目标网页,以便于做进一步判断。

步骤S106,在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果。

在确定出目标网页之后,可以提取目标网页的统一资源定位符(URL),然后在预先设置的搜索引擎中搜索该URL。本实施例中,目标网页可以是一个或者多个,搜索引擎可以是一个也可以是多个。如果目标网页为多个,则提取每个目标网页的URL,输入到搜索引擎的输入框中进行搜索,得到相应的搜索结果。其中,搜素引擎可以是百度,Google,好搜等搜索引擎。

由于搜索引擎在收录网页内容时,通常会在搜索结果页面上输出网页的发布时间等信息,而爬取这些时间信息相对于爬取目标网页页面内容再解析其发布时间的准确度会高一些,也更加方便。因此,在得到搜索结果之后,可以爬取搜索结果页面内容,从该搜索结果中确定出目标网页,以便于从该搜索结果中解析出目标网页的发布时间。

步骤S108,对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内。

步骤S110,在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。

在对目标网页的URL的搜索结果中解析出目标网页的发布时间,可以通过判断该发布时间是否处于上述预设时间段内来判断目标网页是否是在预设时间段内更新的网页。在判断出上述发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页;在判断出上述发布时间在预设时间段之外(如在预设时间段之前)时,确 定目标网页不是在预设时间段内更新的网页。

根据本申请实施例,通过对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页;从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页;在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果;对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内,在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。由于仅检测预设时间段内的被访问网页,相对于现有技术中爬取网站的所有网页而言,其网页的数量大大减少,解决了由于检测的网页数量大造成更新网页的检测过程效率低的技术问题,提高了更新网页的检测效率。

进一步地,本申请实施例中,对在预设时间段内初次被访问的网页即目标网页做进一步判断,在搜索引擎中搜索目标网页的URL,并从搜索结果中解析出目标网页的发布时间,通过该发布时间确定出在预设时间段内更新的网页,从而剔除早已更新但是是在预设时间段内初次被访问的网页,提高了检测更新网页的准确性。

由于某些网站的网页的URL中会携带发布时间的字段,例如大部分新网网站的网页URL中,其中,某些字段反映的内容便是相应的网页的发布时间。因此,本实施例中,优选地,在从多个被访问网页中确定出目标网页之后,以及在预先设置的搜索引擎中搜索目标网页的统一资源定位符之前,可以先判断目标网页的URL中是否携带有时间字段,在目标网页的URL中是否携带有时间字段时,确定该时间字段对应的时间,作为该目标网页的发布时间,然后判断该发布时间是否处于预设时间段内,如果是,则目标网页为在预设时间段内更新的网页。

在上述实施例中,可能存储在搜索引擎未收录目标网页的情况,导致搜索结果中没有目标网页的相关信息,所以需要爬取多个搜索引擎的搜索结果,以保证结果尽量准确。具体地,在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果包括:在预先设置的多个搜索引擎中搜索目标网页的统一资源定位符,得到与多个搜索引擎一一对应的多个搜索结果;对搜索结果进行解析包括:分别对多个搜索结果进行解析,其中,在解析出一个发布时间时,将一个发布时间作为目标网页的发布时间;在解析出多个发布时间时,将多个发布时间中时间最早的发布时间作为目标网页的发布时间。

本实施例中,预先设置多个搜索引擎,分别对目标网页进行搜索,得到相应的多个搜索结果。由于可能存储有些搜索结果中不存在目标网页的情况,因此,对于某个搜索结果可能对应一个发布时间,也可能未解析出发布时间,因此,得到的发布时间 可能是一个也可能是多个(即多个搜索结果均解析出发布时间)。在仅有一个发布时间的情况下,将该发布时间作为目标网页最终的发布时间;如果解析出多个发布时间,且存在不相同的发布时间,则将时间最早的作为目标网页最终的发布时间,进行后续判断。

根据本申请实施例,通过利用多个搜索引擎来搜索目标网页的URL,并在解析出多个时间的情况下,以最早的时间作为目标网页的发布时间,从提高发布时间提取的准确性。

优选地,在对搜索结果进行解析之后,方法还包括:在未解析到目标网页的发布时间时,爬取搜索引擎收录目标网页的收录时间;判断收录时间是否处于预设时间段内;在判断出收录时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页;在判断出收录时间处于预设时间段之外时,确定目标网页不是在预设时间段内更新的网页。

本实施例中,在搜索引擎收录了目标网页,但搜索结果中未能解析出目标网页的发布时间的情况下,还可以爬取搜索引擎收录目标网页的收录时间,通过该收录时间来判断目标网页是否是在预设时间段内更新的网页,其判断方式与上述发布时间的判断方式相同,这里不做赘述。收录时间可以是从搜索结果中例如“快照”的链接中爬取。

根据本申请实施例,在未解析出目标网页的发布时间的情况下,通过搜索引擎收录目标网页的收录时间来判断目标网页是否为在预设时间段内更新的网页,从而保证在搜索引擎未提供发布时间的情况下,判断出网页是否为更新的网页。

优选地,从多个被访问网页中确定出目标网页包括:逐条将多个被访问网页的统一资源定位符与在预设时间段之前记录的网页的统一资源定位符进行匹配,在多个被访问网页中被访问网页的统一资源定位符未匹配到在预设时间段之前记录的目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为目标网页。

本实施例中,预先记录目标网站上在预设时间段之前已经被访问的网页URL,在确定目标网页时,可以通过利用被访问网页的统一资源定位符(URL)与在预设时间段之前记录的网页的URL进行匹配的方式来判断被访问网页是否是目标网页。

具体地,从目标网站在该预设时间段内的访问日志中解析出,所有被访问网页的URL,将该URL与预先记录的URL进行匹配,如果匹配到相同的URL,则认为该URL不是在预设时间段内初次被访问的网页,即非目标网页;反之,如果未匹配到相同的URL,则该URL对应的网页为目标网页。

优选地,逐条将多个被访问网页的统一资源定位符与在预设时间段之前记录的网页的统一资源定位符进行匹配,在多个被访问网页中被访问网页的统一资源定位符未匹配到在预设时间段之前记录的目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为目标网页包括:对多个被访问网页中每一个被访问网页的统一资源定位符进行哈希编码,得到多个被访问网页中每一个被访问网页的统一资源定位符的哈希值;在预先设置的布隆过滤器中查询多个被访问网页中每一个被访问网页的统一资源定位符的哈希值,其中,布隆过滤器中存储有目标网站上在预设时间段之前发布的网页的统一资源定位符的哈希值;将未查询到的哈希值对应的网页作为目标网页。

具体地,在进行URL匹配时,可以利用预先设置的布隆过滤器,该布隆过滤器在构建完成之后,按照预设规则计算出预设时间段之前目标网站上的所发布的所有网页的URL的哈希值,并存储在布隆过滤器中,这样,在检测目标网页过程中,按照相同的规则计算在预设时间段内被访问网页的URL的哈希值,然后利用在布隆过滤器中查询该哈希值,当查询出相同的哈希值时,表明在预设时间段之前该哈希值对应的网页已经发布;反之,如果未查询到,则表明该网页是目标网页。

本实施例中,通过计算预设时间段内被访问网页的URL的哈希值,利用该在布隆过滤器中查询哈希值,相对于直接采用URL进行匹配查询的方式,能够降低匹配查询的复杂度,提高查询效率。

进一步地,在进行目标网页的检测之前,需要先构建布隆过滤器,具体如下:

首先估算目标网站规模,即目标网站的网页的URL的总量n,然后设置布隆过滤器中能够容纳的元素数x,该n值可以是根据x的值来确定,例如将x乘以10作为估算的布隆过滤器中容纳的元素数n,根据实际情况录入误差容忍度p,例如0.001%。

然后计算需要的内存大小m bits:

由m,n得到哈希函数的个数:

最后根据以上参数(m,p,k)初始化布隆过滤器,并提取系统中已经被访问的URL,在对URL进行哈希编码后,将编码得到的哈希值存入布隆过滤器中。

下面对本申请实施例的一种优选实施方式进行描述,具体包括:

步骤1:在目标网站部署监测代码Tracker。该监测代码Tracker可以是一段JS脚本,嵌入在目标网站的源代码中,可以将用户在网站的访问日志发送到指定的服务器;

步骤2:逐条解析服务器收集到的目标网站在预设时间段内的访问日志;

步骤3:提取出访问日志中的URL,即用户在预设时间段内访问的网页的URL;

步骤4:对于步骤3中的结果,若URL在预设时间段之前没有被访问过,则将该URL认为是疑似新增页面;

步骤5:解析汇总完预设时间段的所有访问日志,假设预设时间段的日期为T;

步骤6:对于步骤5中得到的疑似新增页面,通过爬虫程序爬取每个新增页面的URL在搜索引擎(如百度,Google,好搜等)上的搜索结果,获取从搜索结果中解析出的网页的发布日期T1。如在百度搜素引擎上搜索如下URL:http://www.gov.cn/xinwen/2015-10/24/content_2953150.htm,在搜索结果的缩略内容中的时间即为网页的发布时间。有可能会发现某个URL没有被某个搜索引擎收录,所以需要爬取多个搜索引擎的搜索结果,以保证结果尽量准确。

步骤7:若步骤6中,无法解析出该URL所对应页面的发布时间,则爬取搜索引擎对该URL的收录日期T2(可以通过点击“快照”可以看到搜索引擎收录该网页的时间);

步骤8:将T与T1或者T2进行对比,若发现T1或者T2小于T(仅在日期级别比较)则认为该网页是一个历史页面即非更新网页,否则,则可以认为该网页是更新的网页。

步骤9:记录步骤8中统计的URL和对应的日期。

本申请实施例,通过获取用户在目标网站的访问日志,得到预设时间段内新增的被访问页面的URL,然后获取搜索引擎解析出的发布时间或者收录该URL的时间,以该时间为参考,筛选出历史页面,从而准确的统计网站网页的更新量。

本申请实施例还提供了一种网页检测装置,该装置可以用于执行本申请实施例的网页检测方法,如图2所示,该装置包括:解析单元10、第一确定单元20、搜索单元30、第一判断单元40和第二确定单元50。

解析单元10用于对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页。

其中,预设时间段可以是指待检测的时间段,例如,如果要检测目标网站在2015年12月1日更新的网页,则可以从目标网站的访问日志中确定出这一天的访问日志,然后从中解析出这一天被访问网页。其中,目标网站的访问日志可以从目标网站的服务器上获取,也可以通过设置在目标网站上的监测代码监测得到。由于更新的网页通常会吸引网络用户的关注和访问,因此,本实施例中,在检测预设时间段内的更新的网页时,确定出该预设时间段内的被访问网页,以便于从中确定初次被访问的网页。

第一确定单元20用于从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页。

由于在预设时间段内的被访问网页包括在预设时间段内更新的网页,也包括在预设时间段之间就已经更新的网页,本实施例中,从上述多个被访问网页中初次被访问的网页,即在预设时间段之前未被访问的网页,也即是目标网页。

可选地,本实施例中可以预先统计出在预设时间段之前被访问的网页,并进行记录,然后将上述多个被访问网页分别与记录的网页进行匹配,如果匹配到,则表明相应的网页在预设时间段之间也被访问过,则该网页不是更新的网页,反之,如果未匹配到,则表明相应的网页可能是在预设时间段内更新的网页,则作为目标网页,以便于做进一步判断。

搜索单元30用于在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果。

在确定出目标网页之后,可以提取目标网页的统一资源定位符(URL),然后在预先设置的搜索引擎中搜索该URL。本实施例中,目标网页可以是一个或者多个,搜索引擎可以是一个也可以是多个。如果目标网页为多个,则提取每个目标网页的URL,输入到搜索引擎的输入框中进行搜索,得到相应的搜索结果。其中,搜素引擎可以是百度,Google,好搜等搜索引擎。

由于搜索引擎在收录网页内容时,通常会在搜索结果页面上输出网页的发布时间等信息,而爬取这些时间信息相对于爬取目标网页页面内容再解析其发布时间的准确度会高一些,也更加方便。因此,在得到搜索结果之后,可以爬取搜索结果页面内容,从该搜索结果中确定出目标网页,以便于从该搜索结果中解析出目标网页的发布时间。

第一判断单元40用于对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内。

第二确定单元50用于在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。

在对目标网页的URL的搜索结果中解析出目标网页的发布时间,可以通过判断该发布时间是否处于上述预设时间段内来判断目标网页是否是在预设时间段内更新的网页。在判断出上述发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页;在判断出上述发布时间在预设时间段之外(如在预设时间段之前)时,确定目标网页不是在预设时间段内更新的网页。

根据本申请实施例,通过对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页;从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页;在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果;对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内,在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。由于仅检测预设时间段内的被访问网页,相对于现有技术中爬取网站的所有网页而言,其网页的数量大大减少,解决了由于检测的网页数量大造成更新网页的检测过程效率低的技术问题,提高了更新网页的检测效率。

进一步地,本申请实施例中,对在预设时间段内初次被访问的网页即目标网页做进一步判断,在搜索引擎中搜索目标网页的URL,并从搜索结果中解析出目标网页的发布时间,通过该发布时间确定出在预设时间段内更新的网页,从而剔除早已更新但是是在预设时间段内初次被访问的网页,提高了检测更新网页的准确性。

在上述实施例中,可能存储在搜索引擎未收录目标网页的情况,导致搜索结果中没有目标网页的相关信息,所以需要爬取多个搜索引擎的搜索结果,以保证结果尽量准确。具体地,搜索单元具体用于在预先设置的多个搜索引擎中搜索目标网页的统一资源定位符,得到与多个搜索引擎一一对应的多个搜索结果;第一判断单元包括:解析模块,用于分别对多个搜索结果进行解析,其中,在解析出一个发布时间时,将一个发布时间作为目标网页的发布时间;在解析出多个发布时间时,将多个发布时间中时间最早的发布时间作为目标网页的发布时间。

本实施例中,预先设置多个搜索引擎,分别对目标网页进行搜索,得到相应的多个搜索结果。由于可能存储有些搜索结果中不存在目标网页的情况,因此,对于某个搜索结果可能对应一个发布时间,也可能未解析出发布时间,因此,得到的发布时间可能是一个也可能是多个(即多个搜索结果均解析出发布时间)。在仅有一个发布时间的情况下,将该发布时间作为目标网页最终的发布时间;如果解析出多个发布时间,且存在不相同的发布时间,则将时间最早的作为目标网页最终的发布时间,进行后续判断。

根据本申请实施例,通过利用多个搜索引擎来搜索目标网页的URL,并在解析出多个时间的情况下,以最早的时间作为目标网页的发布时间,从提高发布时间提取的准确性。

优选地,装置还包括:爬取单元,用于在对搜索结果进行解析之后,在未解析到目标网页的发布时间时,爬取搜索引擎收录目标网页的收录时间;第二判断单元,用于判断收录时间是否处于预设时间段内;第三确定个单元,用于在判断出收录时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页;在判断出收录时间处于预设时间段之外时,确定目标网页不是在预设时间段内更新的网页。

本实施例中,在搜索引擎收录了目标网页,但搜索结果中未能解析出目标网页的发布时间的情况下,还可以爬取搜索引擎收录目标网页的收录时间,通过该收录时间来判断目标网页是否是在预设时间段内更新的网页,其判断方式与上述发布时间的判断方式相同,这里不做赘述。收录时间可以是从搜索结果中例如“快照”的链接中爬取。

根据本申请实施例,在未解析出目标网页的发布时间的情况下,通过搜索引擎收录目标网页的收录时间来判断目标网页是否为在预设时间段内更新的网页,从而保证在搜索引擎未提供发布时间的情况下,判断出网页是否为更新的网页。

优选地,第一确定单元具体用于逐条将多个被访问网页的统一资源定位符与在预设时间段之前记录的网页的统一资源定位符进行匹配,在多个被访问网页中被访问网页的统一资源定位符未匹配到在预设时间段之前记录的目标网站上的网页的统一资源定位符时,将该未匹配到的被访问网页作为目标网页。

本实施例中,预先记录目标网站上在预设时间段之前已经被访问的网页URL,在确定目标网页时,可以通过利用被访问网页的统一资源定位符(URL)与在预设时间段之前记录的网页的URL进行匹配的方式来判断被访问网页是否是目标网页。

具体地,从目标网站在该预设时间段内的访问日志中解析出,所有被访问网页的URL,将该URL与预先记录的URL进行匹配,如果匹配到相同的URL,则认为该URL不是在预设时间段内初次被访问的网页,即非目标网页;反之,如果未匹配到相同的URL,则该URL对应的网页为目标网页。

优选地,第一确定单元包括:编码模块,用于对多个被访问网页中每一个被访问网页的统一资源定位符进行哈希编码,得到多个被访问网页中每一个被访问网页的统一资源定位符的哈希值;查询模块,用于在预先设置的布隆过滤器中查询多个被访问网页中每一个被访问网页的统一资源定位符的哈希值,其中,布隆过滤器中存储有目 标网站上在预设时间段之前发布的网页的统一资源定位符的哈希值;确定模块,用于将未查询到的哈希值对应的网页作为目标网页。

具体地,在进行URL匹配时,可以利用预先设置的布隆过滤器,该布隆过滤器在构建完成之后,按照预设规则计算出预设时间段之前目标网站上的所发布的所有网页的URL的哈希值,并存储在布隆过滤器中,这样,在检测目标网页过程中,按照相同的规则计算在预设时间段内被访问网页的URL的哈希值,然后利用在布隆过滤器中查询该哈希值,当查询出相同的哈希值时,表明在预设时间段之前该哈希值对应的网页已经发布;反之,如果未查询到,则表明该网页是目标网页。

本实施例中,通过计算预设时间段内被访问网页的URL的哈希值,利用该在布隆过滤器中查询哈希值,相对于直接采用URL进行匹配查询的方式,能够降低匹配查询的复杂度,提高查询效率。

所述网页检测装置包括处理器和存储器,上述解析单元10、第一确定单元20、搜索单元30、第一判断单元40和第二确定单元50等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来确定目标网站中的哪些网页是在预设时间段内更新的网页。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:对目标网站在预设时间段内的访问日志进行解析,得到在预设时间段内多个被访问网页;从多个被访问网页中确定出目标网页,目标网页为在预设时间段之前未被访问的网页;在预先设置的搜索引擎中搜索目标网页的统一资源定位符,得到搜索结果;对搜索结果进行解析,在解析得到目标网页的发布时间时,判断发布时间是否处于预设时间段内;以及在判断出发布时间处于预设时间段内时,确定目标网页为在预设时间段内更新的网页。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1