网络爬虫集群信息的更新方法和装置与流程

文档序号:12121097阅读:214来源:国知局
网络爬虫集群信息的更新方法和装置与流程

本申请涉及互联网爬虫领域,具体而言,涉及一种网络爬虫集群信息的更新方法和装置。



背景技术:

网络爬虫集群在爬取各种网站时,需要过滤重复的链接,以防止重复页面被反复爬取。在网络爬虫爬取页面的过程中,已经爬取过的链接存储在用来过滤重复网页的检查器中,为了网络爬虫集群中的每个爬虫在任意时刻都拥有尽量相同的检查器,避免重复页面被再次爬取,因此,需要同步更新检查器。

现有方案在集群中部署统一的一个检查器,所有网络爬虫都会访问同一个检查器来排除重复页面,但是这种方案使得集群中的所有网络爬虫都要竞争同一个检查器资源,每个网络爬虫爬取页面时,都需要检查器检查爬取的链接是否重复,导致网络爬虫的爬取效率比较低。

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



技术实现要素:

本申请实施例提供了一种网络爬虫集群信息的更新方法和装置,以至少解决相关技术中网络爬虫的爬取效率比较低的技术问题。

根据本申请实施例的一个方面,提供了一种网络爬虫集群信息的更新方法,所述网络爬虫集群中每个网络爬虫配备一个本地检查器,目标本地检查器根据其对应的网络爬虫发送的消息查询在该目标本地检查器中是否存在目标爬取链接,其中,所述消息中携带有所述目标爬取链接;在查询出不存在所述目标爬取链接时,保存所述目标爬取链接,并向其他本地检查器发送携带有所述目标爬取链接的广播,以使所述其他本地检查器依据所述广播更新爬取链接。。

根据本申请实施例的另一方面,还提供了一种网络爬虫集群信息的更新装置,所述网络爬虫集群中每个网络爬虫配备一个本地检查器,所述装置包括:查询单元,用于根据目标本地检查器对应的网络爬虫发送的消息查询在所述目标本地检查器中是否 存在目标爬取链接,其中,所述消息中携带有所述目标爬取链接;广播单元,用于在查询出不存在所述目标爬取链接时,保存所述目标爬取链接,并向其他本地检查器发送携带有所述目标爬取链接的广播,以使所述其他本地检查器依据所述广播更新爬取链接。

在本申请实施例中,采用目标本地检查器根据其对应的网络爬虫发送的消息查询在该目标本地检查器中是否存在目标爬取链接,其中,消息中携带有目标爬取链接;在查询出不存在目标爬取链接时,保存目标爬取链接,并向其他本地检查器发送携带有目标爬取链接的广播,以使其他本地检查器依据广播更新爬取链接的方式,每个网络爬虫通过一个相应的本地检查器过滤重复目标爬取链接,提高了爬取效率。同时,每个本地检查器通过广播接收同步更新已经爬取过的链接的信息,也可以通过广播发送同步更新已经爬取过的链接的信息,使得网络爬虫集群中的本地检查器拥有一致的信息,也就保证了不同爬虫之间也不会重复爬取同一个链接,在多个爬虫同时执行爬取任务时,即能保证比较高的爬取效率,又能保证比较高的准确性,进而解决了相关技术中网络爬虫的爬取效率比较低的技术问题。

附图说明

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

图1是根据本申请实施例的网络爬虫集群信息的更新方法的流程图;

图2是根据本申请实施例的一种可选的网络爬虫集群结构的示意图;

图3是根据本申请实施例的网络爬虫集群信息的更新装置的示意图。

具体实施方式

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

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

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

图1是根据本申请实施例的网络爬虫集群信息的更新方法的流程图,该网络爬虫集群中每个网络爬虫都配备一个本地检查器,如图1所示,该方法包括如下步骤:

步骤S102,目标本地检查器根据其对应的网络爬虫发送的消息查询在该目标本地检查器中是否存在目标爬取链接,其中,消息中携带有目标爬取链接。

步骤S104,在查询出不存在目标爬取链接时,目标本地检查器保存目标爬取链接,并向其他本地检查器发送携带有目标爬取链接的广播,以使其他本地检查器依据广播更新爬取链接。

网络爬虫集群中的每个网络爬虫都配备一个本地检查器,目标本地检查器可以是网络爬虫集群中的任意一个网络爬虫所对应的本地检查器。当采用目标本地检查器查询出某个链接没有被爬取过时,相应的网络爬虫可以对该链接进行爬取,目标本地检查器通过广播来发送该链接已经被爬取的消息,收到该广播的其他本地检查器存储该链接,以便于存储有该链接的检查器所对应的网络爬虫在进行爬取时,过滤掉该链接避免重复爬取同一个链接。由于网络爬虫集群中的每个网络爬虫的本地检查器都能收到广播,因此,网络爬虫集群中的网络爬虫的本地检查器能够同步更新本地存储的信息。在该实施例中,广播的方式实现了多个本地检查器同步更新检查器的信息,无论网络爬虫集群利用哪个本地检查器过滤重复链接,都能避免重复链接被准确过滤掉。由于每个网络爬虫对应一个本地检查器,网络爬虫利用其对应的本地检查器进行重复链接的检查即可,无需抢占同一个检查器的资源,提高了过滤重复链接的效率,也就提高了网络爬虫的爬取效率。已经爬取过的链接存储于网络爬虫集群中的每个本地检查器中,也就使得每个爬虫通过各自的本地检查器过滤重复链接都是准确的,即在提高爬取效率的同时也能提高过滤重复链接的准确性,达到了准确、高效进行爬取的效果。

可选地,在目标本地检查器根据其对应的网络爬虫发送的消息查询在该目标本地 检查器中是否存在目标爬取链接之后,方法还包括:在查询出不存在目标爬取链接时,目标本地检查器向其对应的网络爬虫发送允许爬取的指令,以使网络爬虫爬取目标爬取链接;在查询出存在目标爬取链接时,目标本地检查器向其对应的网络爬虫发送放弃爬取的指令,以使网络爬虫放弃爬取目标爬取链接。

由目标本地检查器查询其是否存储有目标爬取链接,能够查到就说明该目标爬取链接已经爬取过,不需要再爬取,则通知相应的网络爬虫不对目标爬取链接进行爬取;不能查到就说明该目标爬取链接没有爬取过,可以进行爬取,则通知相应的网络爬虫对目标爬取链接进行爬取。由于在爬取之前先查询该目标爬取链接是否爬取过,因此避免了相同的目标爬取链接被重复爬取。由于网络爬虫集群中的每个本地检查器的爬取链接信息是同步的,因此,每个网络爬虫可以从相应的本地检查器中查询目标爬取链接是否被爬取,避免了抢占同一个本地检查器,提高了查询的效率,就整体而言,也提高了爬取的效率。

如图2所示,网络爬虫A爬取目标爬取链接www.abcdefg.com,网络爬虫A在本地检查器a中查找该目标链接,如果没有在本地检查器a中查找到该目标链接,则网络爬虫A爬取目标爬取链接www.abcdefg.com。如果在本地检查器a中查找到该目标链接,则确定该目标链接已经爬取过,放弃爬取该目标链接,从而避免了同一链接的重复爬取。

具体地,网络爬虫集群还包括广播模块,目标本地检查器向其他本地检查器发送携带有目标爬取链接的广播包括:目标本地检查器向广播模块发送携带有目标爬取链接的爬取信息,以使广播模块根据爬取信息生成广播,并由广播模块将广播发送给订阅广播的其他本地检查器。本地检查器通过网络爬虫集群中的广播模块发送广播,也接收来自广播模块发送的广播,从而实现了网络爬虫集群中所有本地检查器同步更新。网络爬虫集群中的其他网络爬虫都能接收到广播,并记录目标爬取链接,实现了多个网络爬虫各自的本地检查器中都能存储已经爬取过的链接。

例如,如图2所示,网络爬虫集群包括网络爬虫A、网络爬虫B、网络爬虫C……网络爬虫N等,相应的本地检查器为本地检查器a、本地检查器b、本地检查器c……本地检查器n,网络爬虫集群还包括广播模块X,所有订阅广播的网络爬虫都可以收听到广播模块X发送的广播。网络爬虫A爬取目标爬取链接www.abcdefg.com,网络爬虫A在本地检查器a中查找该目标链接,结果并未在本地检查器a中查找到该目标链接,则网络爬虫A爬取目标爬取链接www.abcdefg.com。本地检查器a向广播模块X发送目标爬取链接www.abcdefg.com已经爬取的信息,广播模块X生成广播,该广播携带有www.abcdefg.com。订阅有该广播的本地检查器b、本地检查器c……本地检查 器n将广播携带的www.abcdefg.com保存在本地。在网络爬虫B需要爬取目标爬取链接www.abcdefg.com时,本地检查器b查找到该目标爬取链接,则网络爬虫B不再爬取www.abcdefg.com。网络爬虫B爬取另外一个本地检查器b中没有存储的链接后,也可以发送爬取信息,过程参照本地检查器a,此处不再赘述。

可选地,目标本地检查器向其他本地检查器发送携带有目标爬取链接的广播,以使其他本地检查器依据广播更新爬取链接包括:本地检查器向其他本地检查器发送携带有目标爬取链接的广播,以使其他本地检查器接收广播,并保存广播携带的目标爬取链接。

由于网络爬虫集群中的每个爬虫对应一个本地检查器,可以通过向网络爬虫集群添加一个爬虫和相应的本地检查器来扩展网络爬虫集群,或者从网络爬虫集群中去掉一个爬虫和相应的本地检查器来变更网络爬虫集群。在增加一个爬虫和相应的本地检查器时,只需要相应的本地检查器订阅广播模块的广播,就能收到广播模块发送的更新信息,保证了多个本地检查器的更新信息同步。这样,多个本地检查器中存储的信息一致,无论是增加本地检查器还是减少本地检查器,都不会影响网络爬虫集群中其余本地检查器过滤重复链接,也不会影响网络爬虫爬取链接的准确性。由于每个爬虫对应于一个本地检查器,在成对增加或者减少爬虫和相应的本地检查器时,不会降低其他爬虫的爬取效率。

通过上述实施例,每个网络爬虫通过一个相应的本地检查器过滤重复目标爬取链接,提高了爬取效率。同时,每个本地检查器通过广播接收同步更新已经爬取过的链接的信息,也可以通过广播发送同步更新已经爬取过的链接的信息,使得网络爬虫集群中的本地检查器拥有一致的信息,也就保证了不同爬虫之间也不会重复爬取同一个链接,在多个爬虫同时执行爬取任务时,即能保证比较高的爬取效率,又能保证比较高的准确性。

根据本申请实施例,还提供了一种网络爬虫集群信息的更新装置的装置实施例,网络爬虫集群中每个网络爬虫配备一个本地检查器,该网络爬虫集群信息的更新装置能够执行上述网络爬虫集群信息的更新方法,上述网络爬虫集群信息的更新方法也可以通过该网络爬虫集群信息的更新装置执行。

如图3所示,该网络爬虫集群信息的更新装置包括:查询单元10用于根据目标本地检查器对应的网络爬虫发送的消息查询在所述目标本地检查器中是否存在目标爬取链接,其中,所述消息中携带有所述目标爬取链接;广播单元30用于在查询出不存在所述目标爬取链接时,保存所述目标爬取链接,并向其他本地检查器发送携带有所述目标爬取链接的广播,以使所述其他本地检查器依据所述广播更新爬取链接。

网络爬虫集群中的每个网络爬虫都配备一个本地检查器,当采用本地检查器判断出某个链接没有被爬取过时,可以对该链接进行爬取,并通过广播来发送该链接已经被爬取的消息,收到该广播的本地检查器存储该链接,以便于存储有该链接的检查器所对应的网络爬虫在进行爬取时,过滤掉该链接避免重复爬取同一个链接。由于网络爬虫集群中的每个网络爬虫的本地检查器都能收到广播,因此,网络爬虫集群中的网络爬虫的本地检查器能够同步更新本地存储的信息。在该实施例中,广播的方式实现了多个本地检查器同步更新检查器的信息,无论网络爬虫才利用哪个本地检查器过滤重复链接,都能避免重复链接被准确过滤掉。由于每个网络爬虫对应一个本地检查器,网络爬虫利用其对应的本地检查器进行重复链接的检查即可,无需抢占同一个检查器的资源,提高了过滤重复链接的效率,也就提高了网络爬虫的爬取效率。已经爬取过的链接存储于网络爬虫集群中的每个本地检查器中,也就使得每个爬虫通过各自的本地检查器过滤重复链接都是准确的,即在提高爬取效率的同时也能提高过滤重复链接的准确性,达到了准确、高效进行爬取的效果。

可选地,装置还包括:第一发送单元,用于在目标本地检查器根据其对应的网络爬虫发送的消息查询在该目标本地检查器中是否存在目标爬取链接之后,在查询出不存在目标爬取链接时,向目标本地检查器对应的网络爬虫发送允许爬取的指令,以使网络爬虫爬取目标爬取链接;第二发送单元,用于在查询出存在目标爬取链接时,目标本地检查器向目标本地检查器对应的网络爬虫发送放弃爬取的指令,以使网络爬虫放弃爬取目标爬取链接。

由目标本地检查器查询其是否存储有目标爬取链接,能够查到就说明该目标爬取链接已经爬取过,不需要再爬取,则通知相应的网络爬虫不对目标爬取链接进行爬取;不能查到就说明该目标爬取链接没有爬取过,可以进行爬取,则通知相应的网络爬虫对目标爬取链接进行爬取。由于在爬取之前先查询该目标爬取链接是否爬取过,因此避免了相同的目标爬取链接被重复爬取。由于网络爬虫集群中的每个本地检查器的爬取链接信息是同步的,因此,每个网络爬虫可以从相应的本地检查器中查询目标爬取链接是否被爬取,避免了抢占同一个本地检查器,提高了查询的效率,就整体而言,也提高了爬取的效率。

如图2所示,网络爬虫A爬取目标爬取链接www.abcdefg.com,网络爬虫A在本地检查器a中查找该目标链接,如果没有在本地检查器a中查找到该目标链接,则网络爬虫A爬取目标爬取链接www.abcdefg.com。如果在本地检查器a中查找到该目标链接,则确定该目标链接已经爬取过,放弃爬取该目标链接,从而避免了同一链接的重复爬取。

具体地,网络爬虫集群还包括广播模块,广播单元包括:发送模块,用于向广播模块发送携带有目标爬取链接的爬取信息,以使广播模块根据爬取信息生成广播,并将广播发送给订阅广播的其他本地检查器。

本地检查器通过网络爬虫集群中的广播模块发送广播,也接收来自广播模块发送的广播,从而实现了网络爬虫集群中所有本地检查器同步更新。网络爬虫集群中的其他网络爬虫都能接收到广播,并记录目标爬取链接,实现了多个网络爬虫各自的本地检查器中都能存储已经爬取过的链接。

例如,如图2所示,网络爬虫集群包括网络爬虫A、网络爬虫B、网络爬虫C……网络爬虫N等,相应的本地检查器为本地检查器a、本地检查器b、本地检查器c……本地检查器n,网络爬虫集群还包括广播模块X,所有订阅广播的网络爬虫都可以收听到广播模块X发送的广播。网络爬虫A爬取目标爬取链接www.abcdefg.com,网络爬虫A在本地检查器a中查找该目标链接,结果并未在本地检查器a中查找到该目标链接,则网络爬虫A爬取目标爬取链接www.abcdefg.com。本地检查器a向广播模块X发送目标爬取链接www.abcdefg.com已经爬取的信息,广播模块X生成广播,该广播携带有www.abcdefg.com。订阅有该广播的本地检查器b、本地检查器c……本地检查器n将广播携带的www.abcdefg.com保存在本地。在网络爬虫B需要爬取目标爬取链接www.abcdefg.com时,本地检查器b查找到该目标爬取链接,则网络爬虫B不再爬取www.abcdefg.com。网络爬虫B爬取另外一个本地检查器b中没有存储的链接后,也可以发送爬取信息,过程参照本地检查器a,此处不再赘述。

可选地,广播单元还用于向其他本地检查器发送携带有目标爬取链接的广播,以使其他本地检查器接收广播,并保存广播携带的目标爬取链接。

由于网络爬虫集群中的每个爬虫对应一个本地检查器,可以通过向网络爬虫集群添加一个爬虫和相应的本地检查器来扩展网络爬虫集群,或者从网络爬虫集群中去掉一个爬虫和相应的本地检查器来变更网络爬虫集群。在增加一个爬虫和相应的本地检查器时,只需要相应的本地检查器订阅广播模块的广播,就能收到广播模块发送的更新信息,保证了多个本地检查器的更新信息同步。这样,多个本地检查器中存储的信息一致,无论是增加本地检查器还是减少本地检查器,都不会影响网络爬虫集群中其余本地检查器过滤重复链接,也不会影响网络爬虫爬取链接的准确性。由于每个爬虫对应于一个本地检查器,在成对增加或者减少爬虫和相应的本地检查器时,不会降低其他爬虫的爬取效率。

通过上述实施例,每个网络爬虫通过一个相应的本地检查器过滤重复目标爬取链接,提高了爬取效率。同时,每个本地检查器通过广播接收同步更新已经爬取过的链 接的信息,也可以通过广播发送同步更新已经爬取过的链接的信息,使得网络爬虫集群中的本地检查器拥有一致的信息,也就保证了不同爬虫之间也不会重复爬取同一个链接,在多个爬虫同时执行爬取任务时,即能保证比较高的爬取效率,又能保证比较高的准确性。

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

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

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

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

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

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

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

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