一种利用云端进行并发采集的爬虫实现方法技术

技术编号:15288045 阅读:169 留言:0更新日期:2017-05-10 12:31
本发明专利技术公开了一种利用云端进行并发采集的爬虫实现方法,包括爬虫端和若干云节点服务端,爬虫端能够定时检查云端的状态,并选择云端进行任务发送;根据云端状态进行实时配置同步;根据云端已下载网页数,择机进行网页收取;通过本地缓存和数据实现异常容错处理,保证网页不丢失。该利用云端进行并发采集的爬虫实现方法与现有技术相比,通过爬虫端批次发送下载任务、批次收取下载网页,提高了传输效率,将爬虫和云端交互带来的影响降到最低。通过本地和数据库记录下载信息,实现了下载内容的异常容错处理和事物控制,保证下载任务被执行,减少传统爬虫中容易出现的网页丢失情况。

Method for realizing parallel acquisition of crawler using cloud

The invention discloses a method for realizing concurrent acquisition using cloud crawler, including crawler end and several cloud node server, crawler end can regularly check the cloud state, and select the cloud task send; real-time configuration synchronization according to the cloud state; according to the cloud has been downloaded Web pages, choose page through the local charge; the data cache and abnormal fault tolerant processing, ensure the webpage is not lost. The use of the cloud for concurrent collection crawler compared with the existing methods, by sending end batch download tasks, batch crawler for the download page, improve the transmission efficiency, the effect of crawler and cloud interaction bring to a minimum. Through the local and database records to download information, to achieve the download of the contents of the exception handling and transaction control, to ensure that the download task is carried out to reduce the traditional crawler prone to loss of web pages.

【技术实现步骤摘要】

本专利技术涉及计算机应用
,具体地说是一种实用性强、利用云端进行并发采集的爬虫实现方法
技术介绍
随者互联网的飞速发展,大数据这个概念越来越受到人们的关注。企业可以通过网络爬虫采集互联网中的数据,数据本身具有一定的商业价值,并且可以对海量数据进行深加工找出更有价值的数据分析结果,并通过分析结果提供决策支持,驱动企业的加速发展。数据的价值越来越受到人们的关注。但互联网上的数据,以指数级逐年增长,同时互联网也会针对爬虫做出限制,爬虫节点较少时爬取能力有限,所以大量使用云服务器进行分布式爬取成为流行。基于此,现提供一种基于利用云端进行并发采集的爬虫实现方法,使服务器上的爬虫能够将网页下载任务分发至云节点实现大规模分布式并发采集。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、利用云端进行并发采集的爬虫实现方法。本专利技术的一种利用云端进行并发采集的爬虫实现方法,包括爬虫端和若干云节点服务端,其实现过程为:1)爬虫端通过云节点服务端进行采集,爬虫端将采集任务批次发送到云节点服务端,通过校验、请求处理实现云节点服务端任务分发;2)云节点服务端进行状态检测,实时检测云节点服务端的可用状态以及任务队列和下载队列排队情况,并根据云节点服务端情况选择是否发送任务或者是否立刻收取网页;3)爬虫端将本地数据库的配置同步至云节点服务端;4)云节点服务端网页收取,爬虫端向云节点服务端请求已经下载的页面,云节点服务端批量返回已经下载的页面;5)实现下载任务的异常容错处理和事物控制,通过本地缓存和数据实现异常容错处理,保证网页不丢失。所述步骤1)的详细过程为:爬虫端从下载任务的生产者中接收下载任务,该生产者是数据库中的待下载数据或者消息队列中的待下载数据;爬虫端定时同步现有任务配置至云节点服务端,云节点服务端根据规则进行间隔下载;爬虫端检查所有云节点服务端状态,选择可用同时任务排队数小于排队阈值的云节点服务端;爬虫端将任务均匀的发送至云节点服务端,并且记录发送信息备份到本地缓存以及数据库中。爬虫端定时检查云节点服务端的状态是指通过tcp或http方式进行数据查看,查看云端的可用状态、已有任务配置数、待下载任务排队数、已下载网页数,并将状态等数值缓存到本地。所述步骤3)中配置同步是指爬虫端从数据库加载任务配置,并推送至云节点服务端,实时检查云节点服务端配置和爬虫端是否相同,如果不同则全部同步一次。所述步骤2)及步骤4)中的网页收取是指爬虫端定期检查云端已下载网页数,当已下载网页数超过指定阈值时立即收取该云端的网页。所述步骤4)的详细过程为:爬虫端定时检查云节点服务端已下载网页数,当已下载网页数超过已下载阈值时收取云节点已下载网页,并清空云节点上存储的网页;该爬虫端定时从云节点服务端获取已下载网页队列中的网页数据,收取到网页后根据关键字段删除本地缓存和数据库中记录的备份信息,这里的关键字段包括任务ID、URL。所述步骤5)中容错处理是指通过爬虫端缓存和数据库记录进行双重保障,对云端和爬虫端同时进行容错,即通过本地缓存和数据库记录任务发送历史,将收取的网页和发送历史进行对比,一定时间内未下载的网页视为下载失败,进行重发处理。所述步骤5)的详细过程为:爬虫端每次启动时均查询数据库中的任务备份信息,恢复未被下载的任务;且该爬虫端定时检查本地缓存,当有任务加入缓存的时间超过下载时长阈值时,视为下载失败,重启该下载任务。本专利技术的一种利用云端进行并发采集的爬虫实现方法,具有以下优点:本专利技术提供的一种利用云端进行并发采集的爬虫实现方法,使用分布式云端并发采集,相当于增加了采集资源,大大提高了采集的效率;通过爬虫端进行数据中转,也解决了云端直接访问本地数据带来的安全隐患;通过爬虫端批次发送下载任务、批次收取下载网页,提高了传输效率,将爬虫和云端交互带来的影响降到最低;通过本地和数据库记录下载信息,实现了下载内容的异常容错处理和事物控制,保证下载任务被执行,减少传统爬虫中容易出现的网页丢失情况,实用性强,适用范围广泛,易于推广。附图说明附图1为URL下载任务发送流程图。附图2为云端定时检测流程图。附图3为回收网页流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。如附图1、图2、图3所示,本专利技术的一种利用云端进行并发采集的爬虫实现方法,通过爬虫端对云节点的采集服务进行采集,并对其进行监控、管理。包括爬虫端和云节点服务端两个主要模块,其中云节点服务端包括若干个,爬虫端能定期检验云节点服务端状态,查看URL存放容器剩余容量,批量发送待采集网页,批量回收已采集网页,批量发送网页采集规则等功能。云节点服务端接收要下载的任务,并对任务并发下载,并能反馈当前的任务量能信息,为了方便表述,下面将云节点服务端统称为云端。一种基于分布式云端实现并发采集的爬虫实现策略,爬虫端能够定时检查云端的状态,并选择云端进行任务发送;根据云端状态进行实时配置同步;根据云端已下载网页数,择机进行网页收取;通过本地缓存和数据实现异常容错处理,保证网页不丢失。所述的云端状态检查是指通过tcp或http等多种方式中的一种进行数据查看,查看云端的可用状态、已有任务配置数、待下载任务排队数、已下载网页数,并将状态等数值缓存到本地。所述的配置同步是指爬虫端从数据库加载任务配置,并推送至云端,实时检查云端配置和爬虫端是否相同,如果不同则全部同步一次。所述的网页收取是指爬虫端定期检查云端已下载网页数,当已下载网页数超过指定阈值时立即收取该云端的网页。所述的容错处理是指通过爬虫端缓存和数据库记录进行双重保障,能对云端和爬虫端同时进行容错。更加具体的,本专利技术的实现过程为:1)爬虫端通过云端进行采集:将采集任务批次发送到云端,通过一系列的校验、请求等处理实现云端任务分发;爬虫端从下载任务的生产者中接收下载任务,该生产者可以是数据库中的待下载数据、或者消息队列中的待下载数据。爬虫端定时同步现有任务配置至云节点,云节点根据规则进行间隔下载。2)云端状态检测机制:能够实时检测云端的可用状态以及任务队列和下载队列排队情况,并根据云端情况选择是否发送任务或者是否立刻收取网页;爬虫端检查所有云节点状态,选择可用同时任务排队数小于排队阈值的云节点。爬虫端将任务均匀的发送至云节点,并且记录发送信息备份到本地缓存以及数据库中。3)爬虫同步配置至云端:将本地数据库的配置同步至云端,解决了云端访问数据库的安全性问题;爬虫端定时检查云节点已下载网页数,当已下载网页数超过已下载阈值时收取云节点已下载网页,并清空云节点上存储的网页。4)云端网页收取:爬虫端向云端请求已经下载的页面,云端批量返回已经下载的页面;定时获取已下载网页:后端定时从云端获取已下载网页队列中的网页数据,收取到网页后根据任务ID、URL等关键字段删除本地缓存和数据库中记录的备份信息。5)实现下载任务的异常容错处理和事物控制:通过本地缓存和数据库记录任务发送历史,将收取的网页和发送历史进行对比,一定时间内未下载的网页视为下载失败,进行重发处理。爬虫端每次启动时会查询数据库中的任务备份信息,恢复未被下载的任务。爬虫端定时检查本地缓存,当有任务加入缓存的时间超过下载时长阈值时,视为下载失败,重启该下载任务。上述具体实施方式仅本文档来自技高网...
一种利用云端进行并发采集的爬虫实现方法

【技术保护点】
一种利用云端进行并发采集的爬虫实现方法,其特征在于,包括爬虫端和若干云节点服务端,其实现过程为:1)爬虫端通过云节点服务端进行采集,爬虫端将采集任务批次发送到云节点服务端,通过校验、请求处理实现云节点服务端任务分发;2)云节点服务端进行状态检测,实时检测云节点服务端的可用状态以及任务队列和下载队列排队情况,并根据云节点服务端情况选择是否发送任务或者是否立刻收取网页;3)爬虫端将本地数据库的配置同步至云节点服务端;4)云节点服务端网页收取,爬虫端向云节点服务端请求已经下载的页面,云节点服务端批量返回已经下载的页面;5)爬虫端实现下载任务的异常容错处理和事物控制,通过本地缓存和数据实现异常容错处理,保证网页不丢失。

【技术特征摘要】
1.一种利用云端进行并发采集的爬虫实现方法,其特征在于,包括爬虫端和若干云节点服务端,其实现过程为:1)爬虫端通过云节点服务端进行采集,爬虫端将采集任务批次发送到云节点服务端,通过校验、请求处理实现云节点服务端任务分发;2)云节点服务端进行状态检测,实时检测云节点服务端的可用状态以及任务队列和下载队列排队情况,并根据云节点服务端情况选择是否发送任务或者是否立刻收取网页;3)爬虫端将本地数据库的配置同步至云节点服务端;4)云节点服务端网页收取,爬虫端向云节点服务端请求已经下载的页面,云节点服务端批量返回已经下载的页面;5)爬虫端实现下载任务的异常容错处理和事物控制,通过本地缓存和数据实现异常容错处理,保证网页不丢失。2.根据权利要求1所述的一种利用云端进行并发采集的爬虫实现方法,其特征在于,所述步骤1)的详细过程为:爬虫端从下载任务的生产者中接收下载任务,该生产者是数据库中的待下载数据或者消息队列中的待下载数据;爬虫端定时同步现有任务配置至云节点服务端,云节点服务端根据规则进行间隔下载;爬虫端定时检查所有云节点服务端状态,选择可用同时任务排队数小于排队阈值的云节点服务端;爬虫端将任务均匀的发送至云节点服务端,并且记录发送信息备份到本地缓存以及数据库中。3.根据权利要求2所述的一种利用云端进行并发采集的爬虫实现方法,其特征在于,爬虫端定时检查云节点服务端的状态是指通过tcp或http方式进行数据查看,查看云端的可用状态、已有任务配置数、待下载任务排队数、已下载网页数,并将状态等数值缓存到本地。4.根据权利要求1所...

【专利技术属性】
技术研发人员:王洪添张裕超
申请(专利权)人:山东浪潮云服务信息科技有限公司
类型:发明
国别省市:山东;37

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

1