CN104111836A - 一种网络采集处理异步加载数据的方法 - Google Patents
一种网络采集处理异步加载数据的方法 Download PDFInfo
- Publication number
- CN104111836A CN104111836A CN201410332346.1A CN201410332346A CN104111836A CN 104111836 A CN104111836 A CN 104111836A CN 201410332346 A CN201410332346 A CN 201410332346A CN 104111836 A CN104111836 A CN 104111836A
- Authority
- CN
- China
- Prior art keywords
- data
- asynchronous
- request
- event
- ajax
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 title abstract description 6
- 238000004088 simulation Methods 0.000 claims abstract description 4
- 238000001914 filtration Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000001788 irregular Effects 0.000 claims description 4
- 235000014510 cooky Nutrition 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种网络采集处理异步加载数据的方法,其具体实现过程为:通过模拟浏览器,获取网页信息,分析网页是否含有异步请求的内容:如果含有,则进一步采集异步数据;如果不含有,直接采集页面数据;分析含有异步数据的网页代码,发现其中异步请求的方法,即寻找异步请求地址;异步方法进行解析,分析其延伸事件,推导异步请求地址规律,配置相关工具实施数据采集;对返回数据进行解析、存储。该一种网络采集处理异步加载数据的方法和现有技术相比,实用性强,页面加载及时,保证页面打开顺畅性,增强用户体验,适用范围广泛,易于推广。
Description
技术领域
本发明涉及信息通信技术领域,具体地说是一种有效完成数据采集的网络采集处理异步加载数据的方法。
背景技术
近年来,以Ajax异步传输为典型特征已成为各大网站的主要表现形式,Ajax异步传输是一种创建交互式网页应用的网页开发技术,通过异步请求大大减少数据信息访问量,AJAX对局部刷新而不是对整个页面刷新,AJAX使得程序更快,更友好,一般的,AJAX处理过程分为四步:
1、创建XMLHttpRequest,将目标URL设置在XMLHttpRequest;
2、向XMLHttpRequest设置一个回调函数;
3、异步发送XMLHttpRequest请求;
4、服务器响应并调用回调函数把数据显示出来。
采用上述处理步骤,可以有效节省带宽、无刷新加载页面、增强了用户体验等效果。
但对于采集又面临着新的挑战,采集异步加载的数据经常遇见的难题:
1、页面加载延时。页面以瀑布流的形式加载页面。
2、页面DOM树刷新。例如股票采集:页面每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数据解析后存储到服务器中。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的网络采集处理异步加载数据的方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (5)
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数据解析后存储到服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410332346.1A CN104111836A (zh) | 2014-07-14 | 2014-07-14 | 一种网络采集处理异步加载数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410332346.1A CN104111836A (zh) | 2014-07-14 | 2014-07-14 | 一种网络采集处理异步加载数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104111836A true CN104111836A (zh) | 2014-10-22 |
Family
ID=51708636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410332346.1A Pending CN104111836A (zh) | 2014-07-14 | 2014-07-14 | 一种网络采集处理异步加载数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111836A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106959995A (zh) * | 2016-12-21 | 2017-07-18 | 四川长虹电器股份有限公司 | 兼容双向自动化网页内容采集方法 |
CN107798088A (zh) * | 2017-10-20 | 2018-03-13 | 江苏电力信息技术有限公司 | 一种用于微应用数据和页面的动态加载方法 |
CN109344351A (zh) * | 2018-10-18 | 2019-02-15 | 网宿科技股份有限公司 | 网页加载方法、中间服务器和网页加载系统 |
CN109800369A (zh) * | 2018-12-14 | 2019-05-24 | 平安普惠企业管理有限公司 | Hybrid app页面加载方法、装置和计算机设备 |
CN110069395A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 一种模拟异步接口的方法、装置、存储介质及计算机设备 |
CN111224880A (zh) * | 2019-12-31 | 2020-06-02 | 北京健康之家科技有限公司 | 一种单页面应用的接口数据获取方法、装置及存储介质 |
CN111460255A (zh) * | 2020-03-26 | 2020-07-28 | 第一曲库(北京)科技有限公司 | 一种音乐作品信息数据采集及存储方法 |
CN106294658B (zh) * | 2016-08-04 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 网页快速展示方法和装置 |
CN111831942A (zh) * | 2019-04-15 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 对搜索结果进行页面显示的方法、装置、电子设备 |
CN113590988A (zh) * | 2021-10-08 | 2021-11-02 | 中航信移动科技有限公司 | 网络数据采集系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515300A (zh) * | 2009-04-02 | 2009-08-26 | 阿里巴巴集团控股有限公司 | 一种Ajax网页内容的抓取方法及系统 |
CN102609518A (zh) * | 2012-02-09 | 2012-07-25 | 清华大学 | 多状态ajax网页内容获取方法及系统 |
US20120331372A1 (en) * | 2011-06-24 | 2012-12-27 | Usablenet Inc. | Methods for making ajax web applications bookmarkable and crawlable and devices thereof |
CN103186670A (zh) * | 2013-03-27 | 2013-07-03 | 中金数据系统有限公司 | 一种完整采集网页信息的方法和系统 |
CN103853717A (zh) * | 2012-11-28 | 2014-06-11 | 纽海信息技术(上海)有限公司 | 网络爬虫 |
-
2014
- 2014-07-14 CN CN201410332346.1A patent/CN104111836A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515300A (zh) * | 2009-04-02 | 2009-08-26 | 阿里巴巴集团控股有限公司 | 一种Ajax网页内容的抓取方法及系统 |
US20120331372A1 (en) * | 2011-06-24 | 2012-12-27 | Usablenet Inc. | Methods for making ajax web applications bookmarkable and crawlable and devices thereof |
CN102609518A (zh) * | 2012-02-09 | 2012-07-25 | 清华大学 | 多状态ajax网页内容获取方法及系统 |
CN103853717A (zh) * | 2012-11-28 | 2014-06-11 | 纽海信息技术(上海)有限公司 | 网络爬虫 |
CN103186670A (zh) * | 2013-03-27 | 2013-07-03 | 中金数据系统有限公司 | 一种完整采集网页信息的方法和系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294658B (zh) * | 2016-08-04 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 网页快速展示方法和装置 |
CN106959995A (zh) * | 2016-12-21 | 2017-07-18 | 四川长虹电器股份有限公司 | 兼容双向自动化网页内容采集方法 |
CN107798088A (zh) * | 2017-10-20 | 2018-03-13 | 江苏电力信息技术有限公司 | 一种用于微应用数据和页面的动态加载方法 |
CN109344351A (zh) * | 2018-10-18 | 2019-02-15 | 网宿科技股份有限公司 | 网页加载方法、中间服务器和网页加载系统 |
CN109800369A (zh) * | 2018-12-14 | 2019-05-24 | 平安普惠企业管理有限公司 | Hybrid app页面加载方法、装置和计算机设备 |
CN110069395A (zh) * | 2019-03-12 | 2019-07-30 | 平安科技(深圳)有限公司 | 一种模拟异步接口的方法、装置、存储介质及计算机设备 |
CN110069395B (zh) * | 2019-03-12 | 2023-07-25 | 平安科技(深圳)有限公司 | 一种模拟异步接口的方法、装置、存储介质及计算机设备 |
CN111831942A (zh) * | 2019-04-15 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 对搜索结果进行页面显示的方法、装置、电子设备 |
CN111224880A (zh) * | 2019-12-31 | 2020-06-02 | 北京健康之家科技有限公司 | 一种单页面应用的接口数据获取方法、装置及存储介质 |
CN111460255A (zh) * | 2020-03-26 | 2020-07-28 | 第一曲库(北京)科技有限公司 | 一种音乐作品信息数据采集及存储方法 |
CN113590988A (zh) * | 2021-10-08 | 2021-11-02 | 中航信移动科技有限公司 | 网络数据采集系统 |
CN113590988B (zh) * | 2021-10-08 | 2021-12-14 | 中航信移动科技有限公司 | 网络数据采集系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111836A (zh) | 一种网络采集处理异步加载数据的方法 | |
CN107391746A (zh) | 日志分析方法、设备和计算机可读存储介质 | |
CN107800591B (zh) | 一种统一日志数据的分析方法 | |
CN106295382B (zh) | 一种信息风险防控方法及装置 | |
CN105930363A (zh) | 一种基于html5网页的用户行为分析方法及装置 | |
CN105357054A (zh) | 网站流量分析方法、装置和电子设备 | |
CN103731284A (zh) | 关联多个网络帐号的方法和系统 | |
CN101299688A (zh) | 一种获取网页区域点击数量的方法 | |
CN106570013B (zh) | 页面访问数据的处理方法和装置 | |
WO2014180130A1 (en) | Method and system for recommending contents | |
MX2015016845A (es) | Sistema y metodo de comparacion de parametros de sistemas de soldadura. | |
CN107797894A (zh) | App用户行为分析方法和装置 | |
CN105162822A (zh) | 一种网站日志数据处理方法及装置 | |
CN104917739A (zh) | 虚假账号的识别方法及装置 | |
CN104298782B (zh) | 互联网用户主动访问行为轨迹的分析方法 | |
CN110519263A (zh) | 防刷量方法、装置、设备及计算机可读存储介质 | |
US20150222717A1 (en) | Apparatus and method for updating ip geographic information | |
CN109977296A (zh) | 一种信息推送方法、装置、设备及存储介质 | |
CN106802904A (zh) | 日志处理方法、装置及系统 | |
CN104933069A (zh) | 一种桌面终端上网浏览统计的分析方法和系统 | |
CN108415999A (zh) | 一种网页热点的实时获取方法和系统 | |
CN103902436A (zh) | 一种对用户访问行为进行还原的方法及装置 | |
CN104978406A (zh) | 互联网络平台的用户行为分析方法 | |
CN102880698B (zh) | 一种抓取网站确定方法及装置 | |
CN104092660A (zh) | 一种访问网络站点的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141022 |