[发明专利]一种利用云端进行并发采集的爬虫实现方法在审
申请号: | 201610853399.7 | 申请日: | 2016-09-27 |
公开(公告)号: | CN106657228A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 王洪添;张裕超 | 申请(专利权)人: | 山东浪潮云服务信息科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 孟峣 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 云端 进行 并发 采集 爬虫 实现 方法 | ||
技术领域
本发明涉及计算机应用技术领域,具体地说是一种实用性强、利用云端进行并发采集的爬虫实现方法。
背景技术
随者互联网的飞速发展,大数据这个概念越来越受到人们的关注。企业可以通过网络爬虫采集互联网中的数据,数据本身具有一定的商业价值,并且可以对海量数据进行深加工找出更有价值的数据分析结果,并通过分析结果提供决策支持,驱动企业的加速发展。数据的价值越来越受到人们的关注。
但互联网上的数据,以指数级逐年增长,同时互联网也会针对爬虫做出限制,爬虫节点较少时爬取能力有限,所以大量使用云服务器进行分布式爬取成为流行。基于此,现提供一种基于利用云端进行并发采集的爬虫实现方法,使服务器上的爬虫能够将网页下载任务分发至云节点实现大规模分布式并发采集。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、利用云端进行并发采集的爬虫实现方法。
本发明的一种利用云端进行并发采集的爬虫实现方法,包括爬虫端和若干云节点服务端,其实现过程为:
1)爬虫端通过云节点服务端进行采集,爬虫端将采集任务批次发送到云节点服务端,通过校验、请求处理实现云节点服务端任务分发;
2)云节点服务端进行状态检测,实时检测云节点服务端的可用状态以及任务队列和下载队列排队情况,并根据云节点服务端情况选择是否发送任务或者是否立刻收取网页;
3)爬虫端将本地数据库的配置同步至云节点服务端;
4)云节点服务端网页收取,爬虫端向云节点服务端请求已经下载的页面,云节点服务端批量返回已经下载的页面;
5)实现下载任务的异常容错处理和事物控制,通过本地缓存和数据实现异常容错处理,保证网页不丢失。
所述步骤1)的详细过程为:
爬虫端从下载任务的生产者中接收下载任务,该生产者是数据库中的待下载数据或者消息队列中的待下载数据;
爬虫端定时同步现有任务配置至云节点服务端,云节点服务端根据规则进行间隔下载;
爬虫端检查所有云节点服务端状态,选择可用同时任务排队数小于排队阈值的云节点服务端;
爬虫端将任务均匀的发送至云节点服务端,并且记录发送信息备份到本地缓存以及数据库中。
爬虫端定时检查云节点服务端的状态是指通过tcp或http方式进行数据查看,查看云端的可用状态、已有任务配置数、待下载任务排队数、已下载网页数,并将状态等数值缓存到本地。
所述步骤3)中配置同步是指爬虫端从数据库加载任务配置,并推送至云节点服务端,实时检查云节点服务端配置和爬虫端是否相同,如果不同则全部同步一次。
所述步骤2)及步骤4)中的网页收取是指爬虫端定期检查云端已下载网页数,当已下载网页数超过指定阈值时立即收取该云端的网页。
所述步骤4)的详细过程为:
爬虫端定时检查云节点服务端已下载网页数,当已下载网页数超过已下载阈值时收取云节点已下载网页,并清空云节点上存储的网页;
该爬虫端定时从云节点服务端获取已下载网页队列中的网页数据,收取到网页后根据关键字段删除本地缓存和数据库中记录的备份信息,这里的关键字段包括任务ID、URL。
所述步骤5)中容错处理是指通过爬虫端缓存和数据库记录进行双重保障,对云端和爬虫端同时进行容错,即通过本地缓存和数据库记录任务发送历史,将收取的网页和发送历史进行对比,一定时间内未下载的网页视为下载失败,进行重发处理。
所述步骤5)的详细过程为:
爬虫端每次启动时均查询数据库中的任务备份信息,恢复未被下载的任务;且该爬虫端定时检查本地缓存,当有任务加入缓存的时间超过下载时长阈值时,视为下载失败,重启该下载任务。
本发明的一种利用云端进行并发采集的爬虫实现方法,具有以下优点:
本发明提供的一种利用云端进行并发采集的爬虫实现方法,使用分布式云端并发采集,相当于增加了采集资源,大大提高了采集的效率;通过爬虫端进行数据中转,也解决了云端直接访问本地数据带来的安全隐患;通过爬虫端批次发送下载任务、批次收取下载网页,提高了传输效率,将爬虫和云端交互带来的影响降到最低;通过本地和数据库记录下载信息,实现了下载内容的异常容错处理和事物控制,保证下载任务被执行,减少传统爬虫中容易出现的网页丢失情况,实用性强,适用范围广泛,易于推广。
附图说明
附图1为URL下载任务发送流程图。
附图2为云端定时检测流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮云服务信息科技有限公司,未经山东浪潮云服务信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610853399.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种变更订阅资源的方法及装置
- 下一篇:系统整合方法及云整合平台