一种网页数据采集方法、装置及系统的制作方法

文档序号:9931358阅读:573来源:国知局
一种网页数据采集方法、装置及系统的制作方法
【技术领域】
[0001]本申请涉及互联网领域,尤其涉及一种网页数据采集方法、装置及系统。
【背景技术】
[0002]在网站的SEO(Search Engine Optimizat1n,搜索引擎优化)建设过程中,为了能够准确了解到站点现阶段的总体优化情况,会产生一些对第三方站点或平台的数据采集需求,通过对采集到的各类信息进行分析从而制定下一步的网站优化策略。
[0003]目前,主要通过互联网加载第三方站点或平台的网页数据来采集第三方站点或平台的数据。加载网页数据主要包括同步和异步两种加载方式。同步方加载方式,为请求直接返回HTML页面。异步加载方式,在页面返回后,通过加载JS (JavaScript,一种直译式脚本语言)方式改变页面原有结构从而加载出数据。在得到返回的HTML页面之后,可以对HTML页面进行解析,将有用的数据提取分离出来,比如可以抽取出新浪网新闻频道里的某个新闻的标题。
[0004]由于制定网站优化策略的数据需求量较大,因此,需要批量采集第三方站点或平台的网页数据。然而,由于不同网页数据加载方式可能不同,为了保证数据采集结果的准确性,只能统一采取异步加载的方式。但是,由于JS执行需要消耗额外的时间,对于本来同步就能加载出的数据会额外消耗大量硬件资源和时间,导致数据采集效率较低。

【发明内容】

[0005]有鉴于此,本申请的目的在于提供一种网页数据采集方法、装置及系统以实现提高数据采集效率的目的。
[0006]在本申请实施例的第一个方面,提供了一种网页数据采集方法。例如,该方法可以包括:接收批量采集数据的请求,其中,所述请求携带有目标网址信息;确定所述目标网址信息对应的可成功采集目标数据的采集策略,其中,所述目标网址信息对应的采集策略具体通过对该目标网址信息进行至少包括同步加载测试的目标数据采集测试获得,所述采集策略包括同步加载方式或异步加载方式;根据所述目标网址信息对应的采集策略中设置的同步加载方式或异步加载方式,采取相应的加载方式采集所述目标网址信息指向的网页中的目标数据。
[0007]在本申请实施例的第二个方面,提供了一种网页数据采集装置。例如,该装置可以包括:请求接收单元,可以用于接收批量采集数据的请求,其中,所述请求携带有目标网址信息。策略确定单元,可以用于确定所述目标网址信息对应的可成功采集目标数据的采集策略,其中,所述目标网址信息对应的采集策略具体通过对该目标网址信息进行至少包括同步加载测试的目标数据采集测试获得,所述采集策略包括同步加载方式或异步加载方式。采集单元,可以用于根据所述目标网址信息对应的采集策略中设置的同步加载方式或异步加载方式,采取相应的加载方式采集所述目标网址信息指向的网页中的目标数据。
[0008]在本申请实施例的第三个方面,提供了一种网页数据采集系统。例如,该系统可以包括:客户端,可以用于发出批量采集数据的请求,其中,所述请求携带有目标网址信息。采集策略配置服务器,可以用于接收客户端发送的批量采集数据的请求,确定所述请求携带的目标网址信息对应的可成功采集目标数据的采集策略,其中,所述目标网址信息对应的采集策略具体通过对该目标网址信息进行至少包括同步加载测试的目标数据采集测试获得,所述采集策略包括同步加载方式或异步加载方式,以及,生成用于根据所述目标网址信息对应的采集策略中设置的同步加载方式或异步加载方式,采取相应的加载方式采集所述目标网址信息指向的网页中的目标数据的采集任务,将所述采集任务分发给采集服务器集群中的采集服务器。采集服务器集群,可以用于接收采集策略配置服务器分发的采集任务,执行所述采集任务,反馈采集到的目标数据。
[0009]可见本申请具有如下有益效果:
[0010]由于本申请实施例在接收批量采集数据的请求之后,根据请求携带的目标网址信息确定了对应的可成功采集目标数据的采集策略,而该采集策略是通过对该目标网址信息进行至少包括同步加载测试的目标数据采集测试获得的,因此,如果目标网址信息对应的网页以同步加载方式能够采集出目标数据,则测试得到的可成功采集目标数据的采集策略中包含的加载方式就可以是同步加载方式,从而采取采集策略中设置的同步加载方式采集数据,使同步就能加载出的数据可以避免采用异步加载方式加载,避免造成资源和时间的额外消耗,因此,本申请实施例在保证成功采集到目标数据的同时,可以有效提高数据采集效率。
【附图说明】
[0011]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本申请实施例公开的一种网页数据采集方法流程示意图;
[0013]图2为本申请实施例公开的一种网页数据采集装置结构示意图;
[0014]图3为本申请实施例公开的一种网页数据采集系统结构示意图。
【具体实施方式】
[0015]为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0016]—般来说,由于JS执行需要消耗额外的时间,对同一个页面结构如果不执行JS,则执行效率会有一定提升。基于这个原理,在批量采集网页数据前,如果能够对页面数据的加载方式进行至少包括同步加载测试的有效分析测试,则可以区分出可同步加载目标数据的网址信息以及必须异步加载目标数据的网址信息,并设置对应的可成功采集目标数据的采集策略。这样,在批量采集数据时,可以根据与目标网址信息对应的采集策略,采取其中设置的同步加载方式或异步加载方式采集数据,使本来同步就能加载出的数据可以避免采用异步加载方式加载,从而避免造成资源和时间的额外消耗,可以有效的提高数据采集效率。
[0017]例如,参见图1,为本申请实施例提供的一种网页数据采集方法流程示意图。如图1所示,该方法可以包括:
[0018]S110、接收批量采集数据的请求,其中,所述请求携带有目标网址信息。
[0019]例如,所接收的批量采集数据的请求,可以携带有用户在前端页面上输入的批量采集配置信息。假设要批量采集1688站点搜索页面在检索不同关键词时的搜索结果数据。那么批量采集配置信息可以包括:目标网址信息“http://s.1688.com/selloffer/offer_search, htm ? keywords = $ {keyword} &button_click = to p&n = y,,。其中,$ {keyword}可以替换成不同的关键词,目标数据的HTML标签可以配置成id:breadCrumbText I class
[O]: sm-navigatebar-count | text,表不抽取 breadCrumbText 这个 HTML 标签下面第一个sm-navigatebar-count class下的纯文本。其中,批量采集配置信息也可以配置成XPath的描述方式,本申请对此并不进行限制。可以理解的是,批量采集配置信息还可以按照用户自己的需求选择性配置其他参数,本申请对此并不进行限制。
[0020]另外,根据实际需要,如果除了用户提交的批量采集配置信息之外,还需要从其他文件中读取相关参数,则还需要对用于保存该参数的相关文件与相关文件存储地址的映射关系进行设置,以便进行数据采集测试时根据映射关系读取到文件中的参数。例如,在批量采集1688站点搜索页面在搜索不同关键词时的搜索结果数据的应用场景中,用户提交的关键词文件可以按照指定地址下载到用于执行数据采集测试的机器上,同时,设置并保存关键词文件与存储地址的映射关系,例如,〃tas
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1