Ota网站的数据爬取方法及系统的制作方法

文档序号:9350066阅读:761来源:国知局
Ota网站的数据爬取方法及系统的制作方法
【技术领域】
[0001]本发明涉及网站数据爬取,尤其是涉及OTA网站的数据爬取方法及系统。
【背景技术】
[0002]目前,网络数据采集的主要技术就是利用网络爬虫爬取网页的数据。
[0003]以数据采集策略来区分,现有的网络爬虫主要分为两大类:一类是通用爬虫,主要用于为搜索引擎采集网络数据,此类爬虫一般根据所提供的一个或多个种子URL进行网页抓取,再在所抓取的网页中获取下一批新的URL,呈树状结构展开;另一类是垂直爬虫,主要用于定向的数据采集,此类爬虫一般根据事先定义的规则生成一批URL,爬虫对URL逐一进行抓取。
[0004]然而,现有的爬虫在面对一些较为特殊的、有一定的自身特点的爬取对象时,就显得有些不足,现有的OTA网站(在线旅行商网站)就是一个明显的例子。
[0005]由于OTA网站中酒店相关的数据所涉及的数据具有维度多、信息类型丰富、数据量大的特点,现有的网络爬虫无法高效、完整、准确地采集相应信息。具体来说,通用的爬虫无法涵盖酒店数据的多个维度,且由于其抓取方式存在大量的无效信息的抓取从而导致效率低下。垂直爬虫由于其任务的单一性导致其所抓取的数据完整性不高,同时单一的垂直爬虫也无法覆盖多个维度的数据。尽管,也有一些将分布式爬虫用于OTA网站的数据爬取的尝试,但现有的任务调度策略较为简单,主要是通用爬虫的树状结构任务生成,或是垂直爬虫的单个批次任务生成,这些都仍然无法满足酒店数据采集的特殊性。

【发明内容】

[0006]本发明要解决的技术问题是为了克服现有的数据爬取方式难以应对OTA网站的数据爬取中数据维度多、信息类型丰富、数据量大的特点的缺陷,提供一种OTA网站的数据爬取方法及系统。
[0007]本发明是通过下述技术方案来解决上述技术问题的:
[0008]一种OTA网站的数据爬取方法,其特点在于,包括以下步骤:
[0009]S1、生成一地区列表爬虫任务,包含一初始爬取URL,该初始爬取URL对应于OTA网站的酒店搜索主页面;
[0010]S2、执行该地区列表爬虫任务,以采集并保存地区数据,地区数据包括地区列表、地区ID,并根据执行中爬取得到的地区列表及地区ID生成酒店列表爬虫任务,该酒店列表爬虫任务设有预设的多组日期参数,每组日期参数分别包含一入店日期和一离店日期,其中地区包括区域、省份、城市、区县和/或商圈;
[0011]S3、执行酒店列表爬虫任务,以采集并保存酒店数据,其中酒店数据包括在该多组日期参数的条件下可预订的酒店的房间以及酒店的基本信息,并根据执行中爬取得到的酒店的基本信息生成价格列表爬虫任务,其中酒店的基本信息包括酒店的名称和酒店ID ;
[0012]S4、执行该价格列表爬虫任务,以采集并保存酒店的价格数据。
[0013]本发明可将地区列表爬虫、酒店列表爬虫、价格列表爬虫作为相互独立的爬虫模块进行工作。并且,根据目标OTA网站的静态及动态数据更新频次的不同,各爬虫模块可以相互独立地以不同频次生成任务进行数据的采集。
[0014]较佳地,步骤S2中每生成一个酒店列表爬虫任务就将其放入一第一任务队列,步骤S3从该第一任务队列中提取酒店列表爬虫任务并执行,并将生成的价格列表爬虫任务放入一第二任务队列,步骤S4从该第二任务队列中提取价格列表爬虫任务并执行。
[0015]由此,使得步骤\至S 4中的不同层级的链式数据爬取工作,却得以相对独立地进行处理或运算,进而得以更便于利用分布式处理的方式显著提高数据爬取的效率。
[0016]在实际实施过程中,由于OTA网站的城市列表信息一般变更频次最低,可以每周一次或每月一次的频率采集更新;酒店列表信息变更频次也相对不高,可以按照每周I?2次的频率进行采集;而酒店详情及价格信息变更频率较高,可以按照不同酒店的更新频率,以每天I次甚至多次的频率进行采集。应当理解地是,不同的爬虫模块采集数据的频次不同,并不会影响本发明的数据爬取方法的链式数据爬取工作,并且合理利用了其相互独立的特性。同时,在链式生成任务的过程中,也同样可以考虑频次的因素,例如可以根据一次采集的酒店列表信息生成多个(不同入离店日期的)酒店的价格列表爬虫任务。这样的方式能够最大程度避免重复米集相同?目息,从而有效提尚米集效率。
[0017]较佳地,步骤S3中采集的酒店的基本信息还包括酒店的地址,步骤S 4中采集的价格数据包括酒店的房型、各房型的价格、余房量。
[0018]较佳地,步骤&中采用静态数据的爬虫执行爬虫任务,步骤S4中采用动态数据的爬虫执行爬虫任务。这样的设置方式,适应于绝大多数OTA网站的设计特点,能够以更低的开销完成整个数据采集过程。
[0019]较佳地,在步骤S2至步骤S 4中执行爬虫任务以采集数据的过程中,屏蔽预设的一类数据的爬取请求,该类数据包括图像类资源和/或CSS (层叠样式表)资源。
[0020]通过对这类无用数据的屏蔽,能够降低数据爬取过程中的资源开销,提升效率。
[0021]本发明还提供了一种OTA网站的数据爬取系统,其特点在于,包括:
[0022]初始模块,用于生成一地区列表爬虫任务,包含一初始爬取URL,该初始爬取URL对应于OTA网站的酒店搜索主页面;
[0023]地区列表爬虫模块,用于执行该地区列表爬虫任务,以采集并保存地区数据,地区数据包括地区列表、地区ID,并根据执行中爬取得到的地区列表及地区ID生成酒店列表爬虫任务,该酒店列表爬虫任务设有预设的多组日期参数,每组日期参数分别包含一入店日期和一离店日期,其中地区包括区域、省份、城市、区县和/或商圈;
[0024]酒店列表爬虫模块,用于执行酒店列表爬虫任务,以采集并保存酒店数据,其中酒店数据包括在该多组日期参数的条件下可预订的酒店的房间以及酒店的基本信息,并根据执行中爬取得到的酒店的基本信息生成价格列表爬虫任务,其中酒店的基本信息包括酒店的名称和酒店ID ;
[0025]价格列表爬虫模块,用于执行该价格列表爬虫任务,以采集并保存酒店的价格数据。
[0026]较佳地,该数据爬取系统还包括一任务队列模块,用于以任务队列的形式存储爬虫任务,该地区列表爬虫模块每生成一个酒店列表爬虫任务就将其放入该任务队列模块中的一第一任务队列,该酒店列表爬虫模块用于从该第一任务队列中提取酒店列表爬虫任务并执行,并将生成的价格列表爬虫任务放入该任务队列模块中的一第二任务队列,该价格列表爬虫模块用于从该第二任务队列中提取价格列表爬虫任务并执行。
[0027]较佳地,该酒店列表爬虫模块采集的酒店的基本信息还包括酒店的地址,该价格列表爬虫模块采集的价格数据包括酒店的房型、各房型的价格、余房量。
[0028]较佳地,该地区列表爬虫模块采用静态数据的爬虫执行爬虫任务,该价格列表爬虫模块中采用动态数据的爬虫执行爬虫任务。
[0029]较佳地,该地区列表爬虫模块、该酒店列表爬虫模块、该价格列表爬虫模块在执行爬虫任务以采集数据的过程中,屏蔽预设的一类数据的爬取请求,该类数据包括图像类资源和/或CSS资源。
[0030]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0031]本发明的积极进步效果在于:本发明的OTA网站的数据爬取方法及系统,能够针对OTA网站的数据爬取有效提高数据采集的效率、完整性以及准确性,并降低资源开销。
【附图说明】
[0032]图1为本发明实施例1的OTA网站的数据爬取方法的流程图。
[0033]图2为本发明实施例2的OTA网站的数据爬取系统的示意图。
【具体实施方式】
[0034]下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
[0035]实施例1
[0036]参考图1所示,本实施例的OTA网站的数据爬取方法,包括有以下步骤:
[0037]S1、生成一地区列表爬虫任务,包含一初始爬取URL,该初始爬取URL对应于OTA网站的酒店搜索主页面;
[0038]S2、执行该地区列表爬虫任务,以采集并保存地区数据,地区数据包括地区列表、地区ID,并根据执行中爬取得到的地区列表及地区ID生成酒店列表爬虫任务,该酒店列表爬虫任务设有预设的多组日期参数,每组日期参数分别包含一入店日期和一离店日期,其中地区包括省份、城市、区县;
[0039]S3、执行酒店列表爬虫任务,以采
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1