一种分布式网络爬虫的信息爬取方法、服务器及存储介质技术

技术编号:20389785 阅读:18 留言:0更新日期:2019-02-20 02:49
本发明专利技术提供了一种分布式网络爬虫的信息爬取方法、服务器及存储介质,通过利用获取到的多个IP同时进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中;多个爬虫客户端同时从所述redis集群中获取URL,并从获取的URL中解析出目标信息。本发明专利技术所提供的信息爬取方法使用多台设备利用多个IP进行协作,同时对Internet上的所有URL进行爬取,实现更好,更快的,更准确的从海量的网络资源中获取到有用的信息。

【技术实现步骤摘要】
一种分布式网络爬虫的信息爬取方法、服务器及存储介质
本专利技术涉及信息
,尤其涉及的是一种分布式网络爬虫的信息爬取方法、服务器及存储介质。
技术介绍
目前,据统计Internet上网页数量超出200亿个,研究表明接近30%的页面是重复的,并且还有大量动态页面的存在。客户端、服务器端脚本语言的应用使得指向相同Web(WorldWideWeb,全球广域网或万维网)信息的URL(UniformResourceLocator,统一资源定位)数量呈指数级增长,这时候我们如果要用一台服务器从Internet的网页里面想爬取我们需要的信息,则要花销大量的时间,用户不能及时获取所需信息,因此会导致诸多不便。因此,现有技术有待于进一步的改进。
技术实现思路
鉴于上述现有技术中的不足之处,本专利技术的目的在于为用户提供一种分布式网络爬虫的信息爬取方法、服务器及存储介质,克服现有技术中不能快速查找从海量网络资源中爬取到所需信息的缺陷。本专利技术提供了的第一实施例为一种分布式网络爬虫的信息爬取方法,其中,包括以下步骤:利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中;多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息。可选地,所述利用获取到的多个IP进行网络URL爬取的步骤之前还包括:获取网络上的闲置IP,并将闲置IP存储在MongoDB中;多个爬虫客户端从所述MongoDB中获取IP。可选地,所述将爬取到的URL编码为key值存储到redis集群中的步骤还包括:将爬取到的URL进行base64编码成key值,并以key值和URL一一对应保存至所述redis集群的第一主键中。可选地,所述方法还包括:将已经解析出目标信息的URL进行转存至redis集群的第二主键中。可选地,所述多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息的步骤还包括:所述多个爬虫客户端依据所述第一主键和第二主键中的记录进行查重筛选,从第一主键中选取未被解析过的URL作为目标URL;对所述目标URL进行解析以得到目标信息。本专利技术提供了的第二实施例为一种服务器,其中,所述服务器包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的分布式网络爬虫的信息爬取控制程序,其中所述分布式网络爬虫的信息爬取控制程序被所述处理器执行时实现以下步骤:利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中;多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息。可选地,所述分布式网络爬虫的信息爬取控制程序被所述处理器执行时还实现以下步骤:获取网络上的闲置IP,并将闲置IP存储在MongoDB中;多个爬虫客户端从所述MongoDB中获取IP。可选地,所述分布式网络爬虫的信息爬取控制程序被所述处理器执行时还实现以下步骤:将爬取到的URL进行base64编码成key值,并以key值和URL一一对应保存至所述redis集群的第一主键中;将已经解析出目标信息的URL进行转存至redis集群的第二主键中。可选地,所述分布式网络爬虫的信息爬取控制程序被所述处理器执行时还实现以下步骤:所述多个爬虫客户端依据所述第一主键和第二主键中的记录进行查重筛选,从第一主键中选取未被解析过的URL作为目标URL;对所述目标URL进行解析以得到目标信息。本专利技术提供了的第三实施例为一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有分布式网络爬虫的信息爬取控制程序,所述分布式网络爬虫的信息爬取控制程序被处理器执行实现所述的分布式网络爬虫的信息爬取方法的步骤。有益效果,本专利技术提供了一种分布式网络爬虫的信息爬取方法、服务器及存储介质,通过利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中,从所述redis集群中获取URL,并从获取的URL中解析出目标信息。本专利技术所提供的信息爬取方法使用多台设备利用多个IP进行协作,同时对Internet上的所有URL进行爬取,实现更好,更快的,更准确的获取网络上我们有用的信息。附图说明图1是本专利技术所述的分布式网络爬虫的信息爬取方法步骤流程图。图2是本专利技术所述方法具体应用实施例中客户端浏览器的控制原理示意图。图3是本专利技术所述服务器的原理结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本专利技术,并不用于限定本专利技术。由于使用一台服务器进行网络资源的爬取需要大量的时间,因此本专利技术公开了一种分布式多台服务器协作进行网络资源爬取的方法,利用MongoDB和redis技术,通过多台服务器同时进行资源爬取,实现快速的从海量的网络资源中获取到目标信息。此处,需要说明的是,MongoDB为一种分布式文档存储数据库,是一个高性能,开源,无模式的文档型数据库。而Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(ApplicationProgrammingInterface,应用程序编程接口),redis集群为多个redis的集合。本专利技术提供了的第一实施例为一种分布式网络爬虫的信息爬取方法,如图1所示,包括以下步骤:步骤S1、利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中。为了高效率的提高爬取URL,本步骤中利用多个IP同时进行URL信息的获取。在具体实施例中,将多个IP分别作为请求IP或者直接将其包装成客户端浏览器实现对网站URL的爬取。为了更好的对爬取出的URL进行存储,本步骤中将爬取到的URL进行编码为key值后,存储到redis集群中。由于redis集群的属性为可以自动删除重复的URL,因此可以避免对同一URL的存储,同时也避免了对该URL值的重复信息爬取。但是由于很多网站都做了单个IP连续访问次数过多屏蔽IP的机制,每个IP访问某个网站的次数过多,会导致该网站屏蔽该IP,因此为了能实现多次对某个网站进行信息访问,优选的,本步骤中还包括:获取网络上的闲置IP,并将闲置IP存储在MongoDB中;多个爬虫客户端从所述MongoDB中获取IP。由于我们从网络中获取闲置IP,并将获取到的闲置IP存储在MongoDB中,方便了爬虫客户端从MongoDB中获取存储的IP,以及从MongoDB获取新的IP将其使用过的已经被某个网站屏蔽的IP进行替换,重新发起对该网站的访问。可以想到的是,本步骤可以使用多台客户端作为生产者协同根据分别利用从MongoDB中获取到的IP值进行URL的爬取,以取得较高效率的URL爬取效果。本步骤中由于采用MongoDB数据库进行IP的存储,因此可以实现信息的分布式存储,实现信息爬取的分布式协作。步骤S2、多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息。当多个爬虫客户端(用来实现网络爬虫功能的客户端,其中实现网络爬虫功能可以是根据按照一定的规则,自动地抓取万维网信息的程序或者本文档来自技高网...

【技术保护点】
1.一种分布式网络爬虫的信息爬取方法,其特征在于,包括以下步骤:利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中;多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息。

【技术特征摘要】
1.一种分布式网络爬虫的信息爬取方法,其特征在于,包括以下步骤:利用获取到的多个IP进行网络URL爬取,并将爬取到的URL编码为key值存储到redis集群中;多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息。2.根据权利要求1所述的分布式网络爬虫的信息爬取方法,其特征在于,所述利用获取到的多个IP进行网络URL爬取的步骤之前还包括:获取网络上的闲置IP,并将闲置IP存储在MongoDB中;多个爬虫客户端从所述MongoDB中获取IP。3.根据权利要求1所述的分布式网络爬虫的信息爬取方法,其特征在于,所述将爬取到的URL编码为key值存储到redis集群中的步骤还包括:将爬取到的URL进行base64编码成key值,并以key值和URL一一对应保存至所述redis集群的第一主键中。4.根据权利要求1所述的分布式网络爬虫的信息爬取方法,其特征在于,所述方法还包括:将已经解析出目标信息的URL转存至所述redis集群的第二主键中。5.根据权利要求4所述的分布式网络爬虫的信息爬取方法,其特征在于,所述多个爬虫客户端从所述redis集群中获取URL,并从获取的URL中解析出目标信息的步骤还包括:所述多个爬虫客户端依据所述第一主键和第二主键中的记录进行查重筛选,从第一主键中选取未被解析过的URL作为目标URL;对所述目标URL进行解析以得到目标信息。6.一种服务器,其特征在于,所述服务器包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行...

【专利技术属性】
技术研发人员:徐松柏
申请(专利权)人:广州TCL智能家居科技有限公司
类型:发明
国别省市:广东,44

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

1