[发明专利]多状态AJAX网页内容获取方法及系统无效
申请号: | 201210028947.4 | 申请日: | 2012-02-09 |
公开(公告)号: | CN102609518A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 任勇;彭兆盟;徐蕾;何能强;姜春晓;李治华;孙权 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 状态 ajax 网页 内容 获取 方法 系统 | ||
技术领域
本发明涉及互联网数据挖掘技术领域,特别涉及一种多状态AJAX网页内容自动获取方法及系统。
背景技术
随着互联网的不断发展,互联网已经进入了Web 2.0时代,越来越多的网站开发者采用AJAX等技术开发他们的网站。AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)技术可以使部分页面异步更新,用户可以在不刷新整个页面的情况下动态获取更新部分,带来了更小的等待延时和更好的用户体验。AJAX网页与传统的静态网页不一样,每个页面可以分成不同的“状态”:一个AJAX页面同一个URL(Uniform Resource Locator,统一资源定位符)下可以有不同页面状态,每个状态上可能有不同的AJAX调用事件,这些状态之间通过执行AJAX调用事件进行相互转换,状态之间的转换可以形成一个有向的状态转换图:顶点为状态,边为AJAX调用事件。
网络爬虫是是一种互联网数据获取系统,能自动获取互联网上的网页内容,是搜索引擎的重要组成部分。传统爬虫不执行JavaScript脚本,因此不能抓取AJAX网页执行脚本后动态加载的网页内容。现有的支持AJAX网页的爬虫加入了JavaScript解析功能,如申请号为200910133630.5的中国专利《一种AJAX网页内容的抓取方法及系统》,但该类爬虫仍只是根据网页的URL进行网页内容抓取,同一URL对应的AJAX网页内容只抓取一次。然而常见的AJAX网页一个URL通常都对应多个页面状态,比如AJAX分页应用,一个URL对应多个分页状态,现有的抓取方法不支持同一网址下的多状态内容自动识别和获取。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的目的在于提出一种多状态AJAX网页内容获取方法和系统,以解决多状态AJAX网页中所有不同状态的自动获取。
(二)技术方案
为了解决上述技术问题,本发明提供一种多状态AJAX网页内容获取方法,包括步骤:
S101:通过URL加载AJAX网页,得到网页初始状态,并在AJAX状态转换图上添加一个对应该网页初始状态的新顶点;
S102:判断顶点数是否大于阈值,若是转向步骤S111,否则转向步骤S103;
S103:提取出该网页当前状态上的每一个AJAX调用事件,若为新事件,加入到该状态对应的AJAX调用事件队列中,否则在状态转换图上添加一条边,该边始于当前状态顶点,终于目标状态顶点;
S104:判断该状态AJAX调用事件队列是否为空,若该状态AJAX调用事件队列不为空,则转向步骤S105,否则转向步骤S109;
S105:从队列中取出一个新的AJAX调用事件并执行;
S106:判断得到的状态是否为新状态,若是新状态,转向步骤S107,否则转向步骤S108;
S107:在AJAX状态转换图上添加一个对应该状态的新顶点,并添加一条从前一状态顶点到当前状态顶点的边,转向步骤S102;
S108:添加一条从前一状态顶点到当前状态顶点的边,转向步骤S104;
S109:寻找AJAX调用事件队列不为空的状态,若找到,转向步骤S110,否则转向步骤S111;
S110:导航到所述AJAX调用事件队列不为空的状态,转向步骤S105;
S111:本次抓取过程结束。
优选地,所述步骤S110中导航到AJAX调用事件队列不为空的状态的方法为:在已得到的状态转换图中找到从当前状态到新状态之间的最短路径,并执行最短路径上的事件导航到新状态。
优选地,利用dijkstra算法在状态转换图中找到对应顶点之间的最短路径。
优选地,所述步骤S106中判断得到的状态是否为新状态的方法包括步骤:
S201:AJAX页面状态过滤,去除页面状态中包括无关标签及其属性的无关部分;
S202:应用AJAX重复状态检测方法比较页面状态。
优选地,所述AJAX重复状态检测方法包括步骤:
S202a:比较两个处理后的状态Hash值是否相同,若相同,则是重复状态,否则继续进行步骤S202b;
S202b:比较两个状态上的AJAX调用事件是否相同,若不相同,则是新状态;若相同则比较两个状态是否近似重复,若是,则是重复状态,否则是新状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210028947.4/2.html,转载请声明来源钻瓜专利网。
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法