一种网络采集处理异步加载数据的方法技术

技术编号:10560875 阅读:305 留言:0更新日期:2014-10-22 14:38
本发明专利技术提供一种网络采集处理异步加载数据的方法,其具体实现过程为:通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含有,则进一步采集异步数据;如果不含有,直接采集页面数据;分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地址;异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具实施数据采集;对返回数据进行解析、存储。该一种网络采集处理异步加载数据的方法和现有技术相比,实用性强,页面加载及时,保证页面打开顺畅性,增强用户体验,适用范围广泛,易于推广。

【技术实现步骤摘要】
【专利摘要】本专利技术提供,其具体实现过程为:通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含有,则进一步采集异步数据;如果不含有,直接采集页面数据;分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地址;异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具实施数据采集;对返回数据进行解析、存储。该和现有技术相比,实用性强,页面加载及时,保证页面打开顺畅性,增强用户体验,适用范围广泛,易于推广。【专利说明】
本专利技术涉及信息通信
,具体地说是一种有效完成数据采集的网络采集处 理异步加载数据的方法。
技术介绍
近年来,以Ajax异步传输为典型特征已成为各大网站的主要表现形式,Ajax异 步传输是一种创建交互式网页应用的网页开发技术,通过异步请求大大减少数据信息访问 量,AJAX对局部刷新而不是对整个页面刷新,AJAX使得程序更快,更友好,一般的,AJAX处 理过程分为四步: 1、 创建 XMLHttpRequest,将目标 URL 设置在 XMLHttpRequest ; 2、 向XMLHttpRequest设置一个回调函数; 3、 异步发送XMLHttpRequest请求; 4、 服务器响应并调用回调函数把数据显示出来。 采用上述处理步骤,可以有效节省带宽、无刷新加载页面、增强了用户体验等效 果。 但对于采集又面临着新的挑战,采集异步加载的数据经常遇见的难题: 1、页面加载延时。页面以瀑布流的形式加载页面。 2、页面D0M树刷新。例如股票采集:页面每30秒动态刷新一次数据。 3、点击事件的绑定。例如点击电商网站评价或交易记录时,动态加载数据。 4、获取一个带有时间戳的ajax返回来的的URL,只能在短时间内获取该数据,否 则会过期。 基于此,现提供一种可有效采集异步加载数据、保证页面加载及时性的网络采集 处理异步加载数据的方法。
技术实现思路
本专利技术的技术任务是针对在现有技术的不足,提供一种网络采集处理异步加载数 据的方法。 本专利技术的技术方案是按以下方式实现的,该一种网络采集处理异步加载数据的方 法,其具体实现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一步采集异步数据;如果不含有,直接采集页面数据; 步骤二,分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地 址; 步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具 实施数据采集; 步骤四,对返回数据进行解析、存储。 所述步骤一中采集的网页信息含有异步数据时是指发现异步加载返回来的URL 带有无规律可循的参数时,该参数包括带时间戳的URL,然后进入步骤二;不含有异步数据 时是指页面异步加载的URL是有规律的,此时获取返回数据的URL即可。 所述步骤一中分析网页是指从网页找出Ajax请求的事件,分析涉及到的 javascript脚本及参数,该网页信息的获取过程为:安装采集软件后,通过采集程序的内 嵌浏览器模拟访问网页过程,获取相应的javascript脚本。 所述步骤三的详细过程为: 在javascript脚本中找到ajax请求事件,并分析延伸的事件,采用事件过滤机制,对 过滤后的事件逐一触发; 如果动态请求Ajax后,依然无法获取数据,则分以下两种步骤进行:一是把登录后 的cookie加进去,再次发送请求;二是通过采集程序的内嵌浏览器模重复获取相应的 javascript脚本,然后重复查找ajax请求事件和过滤。 所述步骤四的返回数据解析是指通过json解析返回的ajax数据,该ajax数据解 析后存储到服务器中。 本专利技术与现有技术相比所产生的有益效果是: 本专利技术的通过对网站的分析和利用第三方工 具获取的返回数据的URL,多方面了解该网站是如何加载异步数据,进而通过采集程序模拟 加载脚本,采用了事件过滤机制,对过滤后的事件逐一触发,实用性强,页面加载及时,保证 页面打开顺畅性,增强用户体验,适用范围广泛,易于推广。 【专利附图】【附图说明】 附图1是本专利技术的实现流程图。 【具体实施方式】 下面对本专利技术所提供的作以下详细说明。 为了解决了网络数据采集过程中无法自动化获取异步加载数据的难题,本专利技术提 供,该方法的设计初衷是因为目前大多数电商网站 及其它展示数据量大的网站,为了优化用户体验,都对数据进行了异步加载处理,而这些网 络数据往往是很有采集价值的。本专利技术的网络数据采集是根据URL来获取内容的,从网址 上研究,多次请求数据的URL并没有发生变化。如果采集的每个页面异步加载的URL是有 规律的,可以借用第三方工具如Fiddler2,获取返回数据的URL ;反之,如果发现异步加载 返回来的URL带有时间戳等无规律可循的参数时,获取异步加载的数据并进行解析。进一 步的,由于各个网站规则不一,异步加载数据的地址更是不一样,如附图1所示,其具体实 现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一步采集异步数据;如果不含有,直接采集页面数据,采用相关工具如Fiddler2进 行分析即可。 步骤二,分析含有异步数据的网页代码和前端脚本,发现其中异步请求的方法,即 寻找异步请求地址。 步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关 工具实施数据采集,即对脚本事件过滤、触发。 步骤四,对返回数据进行解析、存储。 所述步骤一中采集的网页信息含有异步数据时是指发现异步加载返回来的URL 带有无规律可循的参数时,该参数包括带时间戳的URL,然后进入步骤二;不含有异步数据 时是指页面异步加载的URL是有规律的,此时获取返回数据的URL即可。 所述步骤一中分析网页是指从网页找出Ajax请求的事件,分析涉及到的 javascript脚本及参数,该网页信息的获取过程为:安装采集软件后,通过采集程序的内 嵌浏览器模拟访问网页过程,获取相应的javascript脚本。 所述步骤三的详细过程为: 在javascript脚本中找到ajax请求事件,并分析延伸的事件,采用事件过滤机制,对 过滤后的事件逐一触发; 如果动态请求Ajax后,依然无法获取数据,则分以下两种步骤进行:一是把登录后 的cookie加进去,再次发送请求;二是通过采集程序的内嵌浏览器模重复获取相应的 javascript脚本,然后重复查找ajax请求事件和过滤。 所述步骤四的返回数据解析是指通过json解析返回的ajax数据,该ajax数据解 析后存储到服务器中。 上述【具体实施方式】仅是本专利技术的具体个案,本专利技术的专利保护范围包括但不限于 上述【具体实施方式】,任何符合本专利技术的网络采集处理异步加载数据的方法的权利要求书的 且任何所属
的普通技术人员对其所做的适当变化或替换,皆应落入本专利技术的专利 保护范围。【权利要求】1. ,其特征在于其具体实现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一本文档来自技高网
...

【技术保护点】
一种网络采集处理异步加载数据的方法,其特征在于其具体实现过程为:步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含有,则进一步采集异步数据;如果不含有,直接采集页面数据;步骤二,分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地址;步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具实施数据采集;步骤四,对返回数据进行解析、存储。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐宏伟王传超孙海峰
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东;37

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

1