一种基于关键词检索的网络爬虫调度方法及系统技术方案

技术编号:9991044 阅读:203 留言:0更新日期:2014-05-02 04:33
本发明专利技术公开一种基于关键词检索的网络爬虫调度方法及系统,方法包括:调度端接收到抓取节点发送的任务请求命令;调度端从优先桶获取二次下载链接地址生成任务并加入任务列表,从动态桶获取关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,从基本桶获取关键词链接地址生成任务并加入任务列表,调度端向抓取节点返回任务列表。本发明专利技术通过调整各虚拟桶的允许加入任务数量,从而灵活地调整不同类型的链接地址的调用数量。同时更频繁地抓取热门关键词,避免数据遗漏,减少对冷门关键词的重复抓取。

【技术实现步骤摘要】
一种基于关键词检索的网络爬虫调度方法及系统
本专利技术涉及网络爬虫相关
,特别是一种基于关键词检索的网络爬虫调度方法及系统。
技术介绍
基于关键词检索的网络爬虫是获取关键词信息的基础,但是由于信息的更新会导致网络爬虫的重复抓取或抓不全等情况的发生。特别是目标网站信息变更非常频繁的情况,比如新浪微博等微博类网站,百度等搜索类网站。对于热门关键词,由于信息更新很快,导致网络爬虫很难抓全这些数据;而对于冷门的关键词,由于信息更新比较慢,会导致信息的重复抓取。现有的做法是给关键词设置不同的热度,然后根据关键词热度对关键词进行抓取,热度大的关键词抓取的更加频繁。然而,现有的做法存在如下缺陷:(1)需要知道每个关键词的热度,然后根据热度来设置抓取频率。(2)在首次请求的过程中会涉及很多二次下载链接地址的请求,现有方案并没有对此进行区分。
技术实现思路
基于此,有必要针对现有技术通过设置关键词热度来设置抓取频率,需要预先确定关键词热度,从而导致抓取频率不准确的技术问题,提供一种基于关键词检索的网络爬虫调度方法及系统。一种基于关键词检索的网络爬虫调度方法,包括:步骤11,抓取节点向调度端发送任务请求命令;步骤12,调度端接收到抓取节点发送的任务请求命令;步骤13,调度端从保存二次下载链接地址的优先桶获取二次下载链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入优先桶数量,则执行步骤16,否则执行步骤14,所述二次下载链接地址为所述抓取节点根据任务列表中的任务进行抓取得到抓取页面,从抓取页面中分析得到需要进行二次下载的链接地址;步骤14,调度端从保存关键词多页码链接地址的动态桶获取关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,如果已达到任务列表的允许加入动态桶数量,则执行步骤16,否则执行步骤15,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且动态桶中的关键词链接地址对应的搜索结果页面包括大于或等于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;步骤15,调度端从保存关键词链接地址的基本桶获取关键词链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入基本桶数量,则执行步骤16,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且基本桶中的关键词链接地址对应的搜索结果页面包括小于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;步骤16,调度端向抓取节点返回任务列表,所述抓取节点根据所接收到的任务列表执行任务列表中的任务。一种基于关键词检索的网络爬虫调度系统,包括:调度端以及与调度端通讯的至少一个抓取节点;所述调度端包括:任务请求命令接收模块,用于接收到抓取节点发送的任务请求命令;优先桶任务生成模块,用于从保存二次下载链接地址的优先桶获取二次下载链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入优先桶数量,则执行任务列表返回模块,否则执行动态桶任务生成模块,所述二次下载链接地址为所述抓取节点根据任务列表中的任务进行抓取得到抓取页面,从抓取页面中分析得到需要进行二次下载的链接地址;动态桶任务生成模块,用于保存关键词多页码链接地址的动态桶获取关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,如果已达到任务列表的允许加入动态桶数量,则执行任务列表返回模块,否则执行动态桶任务生成模块,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且动态桶中的关键词链接地址对应的搜索结果页面包括大于或等于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;基本桶任务生成模块,用于从保存关键词链接地址的基本桶获取关键词链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入基本桶数量,则执行任务列表返回模块,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且基本桶中的关键词链接地址对应的搜索结果页面包括小于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;任务列表返回模块,用于向抓取节点返回任务列表;所述抓取节点包括:任务请求命令发送模块,用于向调度端发送任务请求命令;任务执行模块,用于根据所接收到的任务列表执行任务列表中的任务。本专利技术中优先桶、动态桶和基本桶均为虚拟桶,通过设置具有不同优先级的虚拟桶,在虚拟桶中分别保存不同类型的链接地址,对于较高热度的链接地址放置于较高优先级的虚拟桶中。通过调整各虚拟桶的允许加入任务数量,从而灵活地调整不同类型的链接地址的调用数量。同时,链接地址的热度并不是由人工设置,而是根据链接地址所抓取到的页码的实际情况设置,因此使得更频繁地抓取热门关键词,避免数据遗漏,同时减少对冷门关键词的重复抓取。附图说明图1为本专利技术一种基于关键词检索的网络爬虫调度方法的工作流程图;图2为本专利技术一种基于关键词检索的网络爬虫调度系统的模块示意图;图3为本专利技术一个例子的系统结构示意图;图4为本专利技术一个例子桶调度管理模块的工作流程图;图5为本专利技术一个例子桶更新器的工作流程图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细的说明。如图1所示为本专利技术一种基于关键词检索的网络爬虫调度方法的工作流程图,包括:步骤11,抓取节点向调度端发送任务请求命令;步骤12,调度端接收到抓取节点发送的任务请求命令;步骤13,调度端从保存二次下载链接地址的优先桶获取二次下载链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入优先桶数量,则执行步骤16,否则执行步骤14,所述二次下载链接地址为所述抓取节点根据任务列表中的任务进行抓取得到抓取页面,从抓取页面中分析得到需要进行二次下载的链接地址;步骤14,调度端从保存关键词多页码链接地址的动态桶获取关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,如果已达到任务列表的允许加入动态桶数量,则执行步骤16,否则执行步骤15,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且动态桶中的关键词链接地址对应的搜索结果页面包括大于或等于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;步骤15,调度端从保存关键词链接地址的基本桶获取关键词链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入基本桶数量,则执行步骤16,所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且基本桶中的关键词链接地址对应的搜索结果页面包括小于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;步骤16,调度端向抓取节点返回任务列表,所述抓取节点根据所接收到的任务列表执行任务列表中的任务。其中,步骤13中,专门针对二次下载链接地址进行处理,二次下载链接地址,是指抓取节点根据任务列表中的任务进行抓取得到抓取页面,从抓取页面中分析得到需要进行二次下载的链接地址,本文档来自技高网...
一种基于关键词检索的网络爬虫调度方法及系统

【技术保护点】

【技术特征摘要】
1.一种基于关键词检索的网络爬虫调度方法,其特征在于,包括:步骤(11),抓取节点向调度端发送任务请求命令;步骤(12),调度端接收到抓取节点发送的任务请求命令;步骤(13),调度端从保存二次下载链接地址的优先桶获取二次下载链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入优先桶数量,则执行步骤(16),否则执行步骤(14),所述二次下载链接地址为所述抓取节点根据任务列表中的任务进行抓取得到抓取页面,从抓取页面中分析得到需要进行二次下载的链接地址;步骤(14),调度端从保存关键词多页码链接地址的动态桶获取关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,如果已达到任务列表的允许加入动态桶数量,则执行步骤(16),否则执行步骤(15),所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且动态桶中的关键词链接地址对应的搜索结果页面包括大于或等于预设页码数量阈值的页码数量,所述页码数量阈值大于或等于2;步骤(15),调度端从保存关键词链接地址的基本桶获取关键词链接地址生成任务并加入任务列表,如果已达到任务列表的允许加入基本桶数量,则执行步骤(16),所述关键词链接地址为在目标网站中根据所述关键词所生成的搜索结果页面的链接地址,且基本桶中的关键词链接地址对应的搜索结果页面包括小于预设页码数量阈值的页码数量;步骤(16),调度端向抓取节点返回任务列表,所述抓取节点根据所接收到的任务列表执行任务列表中的任务。2.根据权利要求1所述的基于关键词检索的网络爬虫调度方法,其特征在于,所述步骤(13)具体包括:从保存二次下载链接地址的优先桶获取二次下载链接地址生成任务并加入任务列表,并从优先桶中删除已生成任务的二次下载链接地址,如果已达到任务列表的允许加入优先桶数量,则执行步骤(16),否则如果优先桶中还保存有二次下载链接地址,则执行步骤(13),如果优先桶中所有的二次下载链接地址均已删除,则执行步骤(14)。3.根据权利要求1所述的基于关键词检索的网络爬虫调度方法,其特征在于,所述步骤(14)具体包括:从保存关键词链接地址的动态桶获取未调度的关键词链接地址,并根据与关键词链接地址对应的页码数量衍生出所述页码数量的衍生链接地址,根据所述页码数量的衍生链接地址生成所述页码数量的任务并加入任务列表,并设置已生成任务的关键词链接地址的状态为已调度,如果已达到任务列表的允许加入动态桶数量,则执行步骤(16),并设置动态桶中所有的关键词链接地址的状态为未调度,否则如果动态桶中还保存有未调度的关键词链接地址,则执行步骤(14),如果动态桶中未保存有未调度的关键词链接地址,则执行步骤(15)。4.根据权利要求1所述的基于关键词检索的网络爬虫调度方法,其特征在于,所述基本桶包括活动桶和挂起桶,所述步骤(15)具体包括,从保存关键词链接地址的活动桶获取调度时间最前的关键词链接地址生成任务并加入任务列表,并将已生成任务的关键词链接地址的调度时间增加预设的调度时间增加量后移动到挂起桶,如果已达到任务列表的允许加入基本桶数量,则执行步骤(16),否则如果活动桶中还保存有关键词链接地址,则执行步骤(15),如果活动桶中未保存关键词链接地址,则执行步骤(16)。5.根据权利要求1所述的基于关键词检索的网络爬虫调度方法,其特征在于,还包括:抓取节点根据任务列表中的任务进行抓取得到抓取页面,对所述抓取页面进行分析得到包括二次下载链接地址、信息详情或页码数量的分析数据,将分析数据发送到调度端;调度端接收到分析数据:如果分析数据为二次下载链接地址,则将二次下载链接地址放入优先桶;如果分析数据为信息详情,则将信息详情放入数据桶;如果分析数据为页码数量,则在动态桶和基本桶中调整与所述页码数量对应的关键词链接地址。6.根据权利要求5所述的基于关键词检索的网络爬虫调度方法,其特征在于,调度端在动态桶和基本桶中调整与所述页码数量对应的关键词链接地址具体包括:设置当前接收到的页码数量为新页码数量,设置上一次同一关键词链接地址接收到的页码数量为旧页码数量;如果旧页码数量与新页码数量不一致,则:如果旧页码数量大于或等于所述页码数量阈值,且新页码数量大于或等于所述页码数量阈值,则修改对应的关键词链接地址对应的页码数量为新页码数量;如果旧页码数量大于或等于所述页码数量阈值,且新页码数量小于所述页码数量阈值,则将对应的关键词链接地址移动到基本桶;如果旧页码数量小于所述页码数量阈值,且新页码数量大于或等于所述页码数量阈值,则将对应的关键词链接地址移动到动态桶。7.根据权利要求4所述的基于关键词检索的网络爬虫调度方法,其特征在于:抓取节点根据任务列表中的任务进行抓取得到抓取页面,对所述抓取页面进行分析得到包括二次下载链接地址、信息详情或页码数量的分析数据,将分析数据发送到调度端;调度端接收到分析数据:如果分析数据为二次下载链接地址,则将二次下载链接地址放入优先桶;如果分析数据为信息详情,则将信息详情放入数据桶;如果分析数据为页码数量,则设置当前接收到的页码数量为新页码数量,设置上一次同一关键词链接地址接收到的页码数量为旧页码数量,且如果旧页码数量与新页码数量不一致,则:如果旧页码数量大于或等于所述页码数量阈值,且新页码数量大于或等于所述页码数量阈值,则修改对应的关键词链接地址对应的页码数量为新页码数量;如果旧页码数量大于或等于所述页码数量阈值,且新页码数量小于所述页码数量阈值,则将对应的关键词链接地址移动到活动桶;如果旧页码数量小于所述页码数量阈值,且新页码数量大于或等于所述页码数量阈值,则将对应的关键词链接地址移动到动态桶;如果旧页码数量小于所述页码数量阈值,且新页码数量小于所述页码数量阈值,则对挂起桶进行检索,将挂起桶中调度时间到达当前时间的关键词链接地址移动到活动桶。8.根据权利要求1所述的基于关键词检索的网络爬虫调度方法,其特征在于,所述允许加入动态桶数量大于允许加入基本桶数量。9.一种基于关键词检索的网络爬虫调度系统,其特征在于,包括:调度端以及与调度端通讯的至少一个抓取节点;所述调度端包括:任务请求命令接收模块,用于接收到抓...

【专利技术属性】
技术研发人员:邓姿
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1