一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法

文档序号:9349965阅读:169来源:国知局
一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法
【技术领域】
[0001] 本发明属于计算机领域,特别涉及一种自动监视动态网页更新的方法。
【背景技术】
[0002] 随着互联网的快速发展,网络已经逐渐取代传统媒体,成为人们获取信息的主要 渠道。然而,由于大多数网页不提供信息更新时的主动通知功能,人们从网页上获取信息的 效率并不高。为了关注多个网页,人们只能手动打开各个需要关注的网页,人工筛选新的信 息。而且对于某些更新频率较低的网站,人们一次次地打开发现没有更新,浪费了大量的时 间。人们获取网页信息的过程存在着灵活性差、及时性差等不足。
[0003] 为了提高获取信息的效率,RSS/Atom等Web信息同步技术被提出并作为W3C标准。 利用这类技术,由网站提供RSS订阅源,其中包含网站的最新内容,用户在RSS客户端订阅 RSS源即可获取到网站的最新内容并当RSS源更新时得到通知。然而,经过十几年的发展, 大部分网站仍然不支持RSS订阅,用户无法利用RSS功能获取这些网站的更新。此外,RSS 订阅源完全由网站提供,可能存在大量用户不关心的内容,缺之定制性。
[0004] 随着网页技术的发展,AJAX、JSONP等技术的应用越来越普及,越来越多的Web数 据由前端页面从服务器端动态获取。传统的网页下载方式因为无法解析JavaScript代码, 所以无法获取到完整的动态网页内容,也就无法在服务器端监视动态网页内容的更新。

【发明内容】

[0005] 为了克服上述现有技术中存在的不足,本发明提供一种基于过滤表达式和渲染引 擎的自动监视动态网页更新的方法,以解决传统信息订阅模式缺乏定制性的问题,同时解 决传统网页抓取不能解析动态网页的缺陷。本发明能够自动帮助用户监视目标网站及网站 中感兴趣内容的更新,大幅提高人们获取网页更新的效率。
[0006] 为实现上述目的,本发明采用以下技术方案:
[0007] -种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,包括以下步 骤:
[0008] S10、客户端获取用户关注点对应的过滤表达式:用户通过可视化界面指定网页中 感兴趣的部分作为关注点,由应用或客户端自动生成或者由用户自己提供该关注点对应的 过滤表达式;
[0009] S20、服务器端利用渲染引擎检查过滤表达式对应的内容更新:服务器端利用渲染 引擎渲染动态网页,以获取与用户所见相同的页面,并提取出用户的关注点;
[0010] S30、当用户的关注点更新时,服务器端及时将更新内容推送给用户,大幅提高用 户获取网页更新的效率。
[0011] 进一步的,所述步骤SlO包括:
[0012] S11、用户在应用或客户端内输入需要关注的网址;
[0013] S12、应用将用户关注的网址渲染并显示出来;
[0014] S13、用户通过鼠标选中或点击指定关注点,由应用自动生成过滤表达式或者由用 户自行编辑过滤表达式;
[0015] S14、应用将过滤表达式及相应的网址、用户信息上传到服务器。
[0016] 进一步的,所述步骤S13的具体方法为:当用户通过鼠标选中或者点击页面中的 元素时,应用能够获取用户所选或所点位置对应的过滤表达式;在此基础上,用户可以对此 过滤表达式进行修改或者加入其它过滤表达式。
[0017] 进一步的,所述步骤SlO中,过滤表达式是XPath,Regular Expression或者是两 者的组合形式。过滤表达式可以由应用或客户端自动生成,用户可以在自动生成的表达式 上做修改;过滤表达式也可以完全由用户自己提供。过滤表达式的获取方式具有很高的灵 活性。
[0018] 进一步的,所述步骤S20包括:
[0019] S21、将用户的过滤表达式保存到数据库;
[0020] S22、周期性取出用户的过滤表达式;
[0021] S23、下载该过滤表达式对应的网页并用渲染引擎对网页进行渲染;
[0022] S24、利用过滤表达式从渲染后的页面中提取出用户的关注点;
[0023] S25、与上一次保存的用户关注点进行对比,如果不同则将更新的内容推送给用 户。
[0024] 进一步的,所述步骤S20中,判断网页是否更新的依据是用户的关注点是否更新, 即首先使用过滤表达式对网页内容进行提取,再判断用户感兴趣的内容是否发生变化;只 有当用户感兴趣的内容发生变化时,才会通知用户。
[0025] 进一步的,所述植染引擎使用WebKit,Gecko或Trident浏览器引擎,当某植染引 擎渲染失败时使用另一种渲染引擎重试。具体选择哪个引擎可以视用户端情况而定。
[0026] 进一步的,渲染服务由一个分布式集群提供,该集群中节点的数量能够自动根据 负载情况动态变化。以尽可能提高系统的负载能力,同时也可以降低渲染的时延。
[0027] 进一步的,所述步骤S22中,服务器端设置一个缺省的周期或者在客户端上传过 滤表达式时由用户指定周期。
[0028] 本发明的有益效果是:
[0029] (1)本发明提出在服务器端使用渲染引擎对动态网页进行渲染,实现了对动态网 页的监视,大幅提高了人们获取网页更新的效率。
[0030] (2)本发明提出使用过滤表达式精确表达用户在网页中的关注点,该过滤表达式 可以是XPath或者Regular Expression或者是两者的组合,这种表达方式可以灵活地表达 用户需求。
[0031] (3)本发明提出使用分布式的渲染服务器集群提供渲染服务,并当集群负载发生 变化时自动增加或减少节点数量,能够有效提高系统负载,并实现负载均衡。
【附图说明】
[0032] 图1为本发明提出的自动监视动态网页更新方法的流程图;
[0033] 图2为实施例中辅助用户提取过滤表达式的流程;
[0034]图3为实施例分布式渲染服务器集群的系统架构图。
【具体实施方式】
[0035] 下面结合附图对本发明技术方案进行详细说明。
[0036] 如图1所示,本发明的一种基于过滤表达式和渲染引擎的自动监视动态网页更新 的方法主要分为两大部分。
[0037] 第一部分的任务是获取用户关注点对应的过滤表达式,主要包括以下几个步骤:
[0038] (1)用户在应用或者客户端内输入需要关注的网址;
[0039] 该网址即为待关注的目标网址,之后所有的操作均针对该网址进行。
[0040] (2)应用将用户关注的网址渲染并显示出来;
[0041] 此处存在多种实现方法:法一,该应用以浏览器插件的形式存在,由浏览器插件操 作浏览器,直接利用用户本地的浏览器打开目标网址;法二,该应用以客户端形式存在,客 户端中内嵌一个渲染引擎,通过该渲染引擎对页面进行渲染显示;法三,该应用以网页形式 存在,目标网页以frame形式内嵌到当前网页。考虑到跨域请求的相关问题,目标网页需要 利用服务器端的渲染引擎进行渲染。
[0042] (3)用户通过鼠标选中或点击指定关注点,由应用自动生成过滤表达式,用户也可 以自行编辑过滤表达式;
[0043] 其中,过滤表达式可以使用XPath,Regular Expression或者是两者的组合形式, 后续可以加入其它可能的过滤形式。
[0044] 具体方法为:当用户通过鼠标选中或者点击页面中的元素时,应用可以获取用户 所选或所点位置对应的XPath表达式。在此基础上,用户可以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1