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

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

【技术领域】
[0001] 本发明涉及信息通信【技术领域】,具体地说是一种有效完成数据采集的网络采集处 理异步加载数据的方法。

【背景技术】
[0002] 近年来,以Ajax异步传输为典型特征已成为各大网站的主要表现形式,Ajax异 步传输是一种创建交互式网页应用的网页开发技术,通过异步请求大大减少数据信息访问 量,AJAX对局部刷新而不是对整个页面刷新,AJAX使得程序更快,更友好,一般的,AJAX处 理过程分为四步: 1、 创建 XMLHttpRequest,将目标 URL 设置在 XMLHttpRequest ; 2、 向XMLHttpRequest设置一个回调函数; 3、 异步发送XMLHttpRequest请求; 4、 服务器响应并调用回调函数把数据显示出来。
[0003] 采用上述处理步骤,可以有效节省带宽、无刷新加载页面、增强了用户体验等效 果。
[0004] 但对于采集又面临着新的挑战,采集异步加载的数据经常遇见的难题: 1、页面加载延时。页面以瀑布流的形式加载页面。
[0005] 2、页面D0M树刷新。例如股票采集:页面每30秒动态刷新一次数据。
[0006] 3、点击事件的绑定。例如点击电商网站评价或交易记录时,动态加载数据。
[0007] 4、获取一个带有时间戳的ajax返回来的的URL,只能在短时间内获取该数据,否 则会过期。
[0008] 基于此,现提供一种可有效采集异步加载数据、保证页面加载及时性的网络采集 处理异步加载数据的方法。


【发明内容】

[0009] 本发明的技术任务是针对在现有技术的不足,提供一种网络采集处理异步加载数 据的方法。
[0010] 本发明的技术方案是按以下方式实现的,该一种网络采集处理异步加载数据的方 法,其具体实现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一步采集异步数据;如果不含有,直接采集页面数据; 步骤二,分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地 址; 步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具 实施数据采集; 步骤四,对返回数据进行解析、存储。
[0011] 所述步骤一中采集的网页信息含有异步数据时是指发现异步加载返回来的URL 带有无规律可循的参数时,该参数包括带时间戳的URL,然后进入步骤二;不含有异步数据 时是指页面异步加载的URL是有规律的,此时获取返回数据的URL即可。
[0012] 所述步骤一中分析网页是指从网页找出Ajax请求的事件,分析涉及到的 javascript脚本及参数,该网页信息的获取过程为:安装采集软件后,通过采集程序的内 嵌浏览器模拟访问网页过程,获取相应的javascript脚本。
[0013] 所述步骤三的详细过程为: 在javascript脚本中找到ajax请求事件,并分析延伸的事件,采用事件过滤机制,对 过滤后的事件逐一触发; 如果动态请求Ajax后,依然无法获取数据,则分以下两种步骤进行:一是把登录后 的cookie加进去,再次发送请求;二是通过采集程序的内嵌浏览器模重复获取相应的 javascript脚本,然后重复查找ajax请求事件和过滤。
[0014] 所述步骤四的返回数据解析是指通过json解析返回的ajax数据,该ajax数据解 析后存储到服务器中。
[0015] 本发明与现有技术相比所产生的有益效果是: 本发明的一种网络采集处理异步加载数据的方法通过对网站的分析和利用第三方工 具获取的返回数据的URL,多方面了解该网站是如何加载异步数据,进而通过采集程序模拟 加载脚本,采用了事件过滤机制,对过滤后的事件逐一触发,实用性强,页面加载及时,保证 页面打开顺畅性,增强用户体验,适用范围广泛,易于推广。

【专利附图】

【附图说明】
[0016] 附图1是本发明的实现流程图。

【具体实施方式】
[0017] 下面对本发明所提供的一种网络采集处理异步加载数据的方法作以下详细说明。
[0018] 为了解决了网络数据采集过程中无法自动化获取异步加载数据的难题,本发明提 供一种网络采集处理异步加载数据的方法,该方法的设计初衷是因为目前大多数电商网站 及其它展示数据量大的网站,为了优化用户体验,都对数据进行了异步加载处理,而这些网 络数据往往是很有采集价值的。本发明的网络数据采集是根据URL来获取内容的,从网址 上研究,多次请求数据的URL并没有发生变化。如果采集的每个页面异步加载的URL是有 规律的,可以借用第三方工具如Fiddler2,获取返回数据的URL ;反之,如果发现异步加载 返回来的URL带有时间戳等无规律可循的参数时,获取异步加载的数据并进行解析。进一 步的,由于各个网站规则不一,异步加载数据的地址更是不一样,如附图1所示,其具体实 现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一步采集异步数据;如果不含有,直接采集页面数据,采用相关工具如Fiddler2进 行分析即可。
[0019] 步骤二,分析含有异步数据的网页代码和前端脚本,发现其中异步请求的方法,即 寻找异步请求地址。
[0020] 步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关 工具实施数据采集,即对脚本事件过滤、触发。
[0021] 步骤四,对返回数据进行解析、存储。
[0022] 所述步骤一中采集的网页信息含有异步数据时是指发现异步加载返回来的URL 带有无规律可循的参数时,该参数包括带时间戳的URL,然后进入步骤二;不含有异步数据 时是指页面异步加载的URL是有规律的,此时获取返回数据的URL即可。
[0023] 所述步骤一中分析网页是指从网页找出Ajax请求的事件,分析涉及到的 javascript脚本及参数,该网页信息的获取过程为:安装采集软件后,通过采集程序的内 嵌浏览器模拟访问网页过程,获取相应的javascript脚本。
[0024] 所述步骤三的详细过程为: 在javascript脚本中找到ajax请求事件,并分析延伸的事件,采用事件过滤机制,对 过滤后的事件逐一触发; 如果动态请求Ajax后,依然无法获取数据,则分以下两种步骤进行:一是把登录后 的cookie加进去,再次发送请求;二是通过采集程序的内嵌浏览器模重复获取相应的 javascript脚本,然后重复查找ajax请求事件和过滤。
[0025] 所述步骤四的返回数据解析是指通过json解析返回的ajax数据,该ajax数据解 析后存储到服务器中。
[0026] 上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于 上述【具体实施方式】,任何符合本发明的网络采集处理异步加载数据的方法的权利要求书的 且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利 保护范围。
【权利要求】
1. 一种网络采集处理异步加载数据的方法,其特征在于其具体实现过程为: 步骤一,通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含 有,则进一步采集异步数据;如果不含有,直接采集页面数据; 步骤二,分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地 址; 步骤三,异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具 实施数据采集; 步骤四,对返回数据进行解析、存储。
2. 根据权利要求1所述的一种网络采集处理异步加载数据的方法,其特征在于:所述 步骤一中采集的网页信息含有异步数据时是指发现异步加载返回来的URL带有无规律可 循的参数时,该参数包括带时间戳的URL,然后进入步骤二;不含有异步数据时是指页面异 步加载的URL是有规律的,此时获取返回数据的URL即可。
3. 根据权利要求1所述的一种网络采集处理异步加载数据的方法,其特征在于:所述 步骤一中分析网页是指从网页找出Ajax请求的事件,分析涉及到的javascript脚本及参 数,该网页信息的获取过程为:安装采集软件后,通过采集程序的内嵌浏览器模拟访问网页 过程,获取相应的javascript脚本。
4. 根据权利要求1所述的一种网络采集处理异步加载数据的方法,其特征在于:所述 步骤三的详细过程为: 在javascript脚本中找到ajax请求事件,并分析延伸的事件,采用事件过滤机制,对 过滤后的事件逐一触发; 如果动态请求Ajax后,依然无法获取数据,则分以下两种步骤进行:一是把登录后 的cookie加进去,再次发送请求;二是通过采集程序的内嵌浏览器模重复获取相应的 javascript脚本,然后重复查找ajax请求事件和过滤。
5. 根据权利要求1所述的一种网络采集处理异步加载数据的方法,其特征在于:所述 步骤四的返回数据解析是指通过json解析返回的ajax数据,该ajax数据解析后存储到服 务器中。
【文档编号】G06F9/44GK104111836SQ201410332346
【公开日】2014年10月22日 申请日期:2014年7月14日 优先权日:2014年7月14日
【发明者】徐宏伟, 王传超, 孙海峰 申请人:浪潮软件集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1