一种自定义职责链及后置处理模块的分布式爬虫框架的制作方法_3

文档序号:9818311阅读:来源:国知局
0(111(^1(1:13-06316115111611991;
[0100]BasicInfoModule-->Uhtml中得到页面的元素meta对应的信息,主要是获得页面的标题title使用:〃重庆巴南区-迈锐宝2012款2.0L手自一体舒适版〃;
[0101]将上述结果进行整合后得出汽车行业输出结果:{〃city〃: 〃重庆〃,"crumb": 〃易车二手车〉重庆二手车〉重庆二手中型〉重庆二手雪佛兰〉重庆二手迈锐宝〉二手2012款迈锐宝--2.0L手自一体舒适版","info": ””,"info_type": "old_car","I icense_date":"
4.00万公里〃,〃!11;[168〃:〃2012年03月〃,〃口386_1:;[1:168〃:〃【重庆巴南区二手迈锐宝】12.0万_深灰色12款2.01^手自一体舒适版_迈锐宝二手车_易车二手车〃,〃?4(^〃:〃¥11.98万〃,〃product_id〃: 〃b_Dealerl5111611991〃,〃site〃: 〃www.taoche.com","title": 〃重庆巴南区-迈锐宝2012款2.0L手自一体舒适版〃,"url": "http: //www.taoche.com/buycar/b-Dealerl5111611991.html"}
[0102](3)以汽车之家为例,提取汽车兴趣点信息:
[0103]职责链:页面html获取,汽车网站键值定义分析;后置处理:json保存文件;
[0104]首先,设置职责链,"chains": "com.zamplus.crawler.module.CrawlerModule,com.zamplus.crawler.module.CommonParserModule ,com.zamplus.crawler.module.UrlExtractM odule ,com.zamplus.crawler.module.BasicInfoModule〃};
[0105]进一步地,输入一个汽车网页的url后,职责链依次执行如下程序:
[0106]CrawlerModule一> 获取一个 url 的html 代码:
[0107]〃http://dealer.autohome.com.cn/2020215/?PvareaID = 1037 06";
[0?08] CommonParserModule-->一个通用的解析类,读取面页的html,根据配置信息,解析得到页面的配置键对应的值productld: 2020215;
[0109]BasicInfoModule-->Uhtml中得到页面的元素meta对应的信息,主要是获得页面的标题tit Ie使用:〃【上海授权经销商】上海宝信实嘉授权经销商地址_电话:13761049040-汽车之家〃;
[0110]将上述结果进行整合后得出汽车行业输出结果:{"address":"上海市金沪路1000号〃,〃brand〃:〃GMC〃/'City〃:〃上海〃,〃crUmb〃: 〃当前位置:汽车之家〉上海〉上海宝信实IT,"info":"{\"id\":\"2020215\",\"SOurCe\":\"13\",\"type\":\"2\"}"/'IaC31.250217","1n": "121.609572","manufacturer": "GMC","name": 〃上海宝信实嘉〃,〃page_titles〃: 〃【上海授权经销商】上海宝信实嘉授权经销商地址_电话:13761049040-汽车之家","product」cT: "2020215","site": "dealer.autohome.com.cn","url": "http://dealer.autohome.com.cn/2020215/?PvareaID = 103706"}
[0111]上述实施例1、2、3在本发明的申请中能够同时进行分析,因为在本发明中可以同时定义多个职责链,命令其进行不同的信息抓取,而在京东、淘车网或者汽车之家的自身网站中,都只具有一种具有固定编程或者模块化的系统,只能完成相对应的一项工作,不能同时完成3项工作,因此,操作复杂,本申请是一种通用的爬充框架,无需区分具体的工作环境,能够根据需求自定义一种或者多种职责链,使其同时完成抓取工作,工作更加快速,适用性更广,占用内存小,节约了编程人员的工作量。
[0112]本发明的一种自定义职责链及后置处理模块的分布式爬虫框架,是在一个系统中定义多个职责链,每个职责链对应一个任务名称,克服了现有技术中每个任务名称就要对应一套爬虫系统的限制,通用性更强,降低了内存的占用,对软硬件的要求降低,降低了运行和管理成本。
[0113]以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。
【主权项】
1.一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,包括如下步骤: 第一步,创建各种不同类型的任务,每一个任务对应一个不同的任务名称; 第二步,定义职责链的接口模块,框架能自适应地处理各个接口模块,每一接口模块的输出都与下一接口模块的输入相对应; 第三步,定义后置处理类,后置处理类根据不同的任务名称,处理第一步中已抓取的ur I对应的内容; 对于所述第一步中已抓取的url,经过职责链处理后,会产生多条数据,后置处理类是针对处理后的多条数据的自定义处理方法; 第四步,采用多机器、多进程从第四步的队列中抓取多个url,根据任务名称,推送多个不同的url至队列中待用,当任务名称不存在时,则重复所述第一步至第三步创建新的任务; 第五步,根据任务名称,得到职责链,分别处理职责链; 第六步,完成多个url的抓取后,根据任务名称,得到后置处理类,执行后置处理类,将已抓取的url进行保存文件或其它处理。2.根据权利要求1所述的一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,所述第一步中创建各种不同类型的任务,每一个任务对应一个不同的任务名称的具体步骤为:为系统配置ui,操作员在Ui上创建对应的任务,同时对每个任务进行配置和赋予任务名称,包括:定义职责链和后置处理类。3.根据权利要求1所述的一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,所述第二步中定义职责链的接口模块,框架能自适应地处理各个接口模块,每一接口模块的输出都与下一接口模块的输入相对应的具体步骤为: 首先,通过爬虫工具从网站上抓取ur I; 进一步地,根据任务名称读取职责链; 进一步地,职责链包括多个有序的接口模块;每一接口模块的输出都与下一接口模块的输入相对应,框架根据多个接口模块的顺序依次抓取内容。4.根据权利要求1所述的一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,所述第二步中的接口模块包括:网页内容获取模块,分类、标题提取模块,价格提取模块,评论提取模块,正文算法提取模块和输出j son的格式模块。5.根据权利要求1所述的一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,所述第二步中框架能自适应地处理各个接口模块是指:如果当前模块不够,能够扩展业务代码新增模块,使用框架的业务人员,可以自行实现接口,开发不同的应用。6.根据权利要求1所述的一种自定义职责链及后置处理模块的分布式爬虫框架,其特征在于,所述第五步中抓取系统根据任务名称,从队列中读取已推送的url,每次获得指定数量的url;框架遍历所有url,得到各个url后,执行职责链,最终得到与url数量相一致的数据。
【专利摘要】本发明属于互联网广告技术领域,提供了一种自定义职责链及后置处理模块的分布式爬虫框架,包括:创建各种不同类型的任务,每一个任务对应一个不同的任务名称;定义职责链的接口模块;定义后置处理类;采用多机器、多进程抓取多个url,根据任务名称,推送多个不同的url,当任务名称不存在时,重复上述步骤;根据任务名称,得到并处理职责链;完成多个url的抓取后,根据任务名称,得到并执行后置处理类,进行保存文件或其它处理。本发明是在一个系统中定义多个职责链,每个职责链对应一个任务名称,即克服了现有技术中每个任务名称就要对应一套爬虫系统的限制,通用性更强,降低了内存的占用,对软硬件的要求降低,降低了运行和管理成本。
【IPC分类】G06F17/30
【公开号】CN105589949
【申请号】CN201510958023
【发明人】汤奇峰, 王万宝, 汤丽萍
【申请人】晶赞广告(上海)有限公司
【公开日】2016年5月18日
【申请日】2015年12月18日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1