CN105069032A - 一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 - Google Patents
一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 Download PDFInfo
- Publication number
- CN105069032A CN105069032A CN201510427806.3A CN201510427806A CN105069032A CN 105069032 A CN105069032 A CN 105069032A CN 201510427806 A CN201510427806 A CN 201510427806A CN 105069032 A CN105069032 A CN 105069032A
- Authority
- CN
- China
- Prior art keywords
- user
- filter expression
- render engine
- web page
- webpage
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,用户通过可视化界面指定网页中感兴趣的部分作为关注点,由应用或客户端自动生成该关注点对应的过滤表达式;服务器端利用渲染引擎渲染动态网页,以获取与用户所见相同的页面,并提取出用户的关注点;当用户的关注点更新时,服务器端及时将更新内容推送给用户。本发明通过辅助用户指定关注点并在服务器端利用渲染引擎自动检查网页更新实现了一种可定制化的动态网页监视程序,解决了传统信息订阅模式(如RSS)缺乏定制性的问题,同时也解决了传统网页抓取不能解析动态网页的缺陷,提高了用户获取网页信息更新的效率。
Description
技术领域
本发明属于计算机领域,特别涉及一种自动监视动态网页更新的方法。
背景技术
随着互联网的快速发展,网络已经逐渐取代传统媒体,成为人们获取信息的主要渠道。然而,由于大多数网页不提供信息更新时的主动通知功能,人们从网页上获取信息的效率并不高。为了关注多个网页,人们只能手动打开各个需要关注的网页,人工筛选新的信息。而且对于某些更新频率较低的网站,人们一次次地打开发现没有更新,浪费了大量的时间。人们获取网页信息的过程存在着灵活性差、及时性差等不足。
为了提高获取信息的效率,RSS/Atom等Web信息同步技术被提出并作为W3C标准。利用这类技术,由网站提供RSS订阅源,其中包含网站的最新内容,用户在RSS客户端订阅RSS源即可获取到网站的最新内容并当RSS源更新时得到通知。然而,经过十几年的发展,大部分网站仍然不支持RSS订阅,用户无法利用RSS功能获取这些网站的更新。此外,RSS订阅源完全由网站提供,可能存在大量用户不关心的内容,缺乏定制性。
随着网页技术的发展,AJAX、JSONP等技术的应用越来越普及,越来越多的Web数据由前端页面从服务器端动态获取。传统的网页下载方式因为无法解析JavaScript代码,所以无法获取到完整的动态网页内容,也就无法在服务器端监视动态网页内容的更新。
发明内容
为了克服上述现有技术中存在的不足,本发明提供一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,以解决传统信息订阅模式缺乏定制性的问题,同时解决传统网页抓取不能解析动态网页的缺陷。本发明能够自动帮助用户监视目标网站及网站中感兴趣内容的更新,大幅提高人们获取网页更新的效率。
为实现上述目的,本发明采用以下技术方案:
一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,包括以下步骤:
S10、客户端获取用户关注点对应的过滤表达式:用户通过可视化界面指定网页中感兴趣的部分作为关注点,由应用或客户端自动生成或者由用户自己提供该关注点对应的过滤表达式;
S20、服务器端利用渲染引擎检查过滤表达式对应的内容更新:服务器端利用渲染引擎渲染动态网页,以获取与用户所见相同的页面,并提取出用户的关注点;
S30、当用户的关注点更新时,服务器端及时将更新内容推送给用户,大幅提高用户获取网页更新的效率。
进一步的,所述步骤S10包括:
S11、用户在应用或客户端内输入需要关注的网址;
S12、应用将用户关注的网址渲染并显示出来;
S13、用户通过鼠标选中或点击指定关注点,由应用自动生成过滤表达式或者由用户自行编辑过滤表达式;
S14、应用将过滤表达式及相应的网址、用户信息上传到服务器。
进一步的,所述步骤S13的具体方法为:当用户通过鼠标选中或者点击页面中的元素时,应用能够获取用户所选或所点位置对应的过滤表达式;在此基础上,用户可以对此过滤表达式进行修改或者加入其它过滤表达式。
进一步的,所述步骤S10中,过滤表达式是XPath,RegularExpression或者是两者的组合形式。过滤表达式可以由应用或客户端自动生成,用户可以在自动生成的表达式上做修改;过滤表达式也可以完全由用户自己提供。过滤表达式的获取方式具有很高的灵活性。
进一步的,所述步骤S20包括:
S21、将用户的过滤表达式保存到数据库;
S22、周期性取出用户的过滤表达式;
S23、下载该过滤表达式对应的网页并用渲染引擎对网页进行渲染;
S24、利用过滤表达式从渲染后的页面中提取出用户的关注点;
S25、与上一次保存的用户关注点进行对比,如果不同则将更新的内容推送给用户。
进一步的,所述步骤S20中,判断网页是否更新的依据是用户的关注点是否更新,即首先使用过滤表达式对网页内容进行提取,再判断用户感兴趣的内容是否发生变化;只有当用户感兴趣的内容发生变化时,才会通知用户。
进一步的,所述渲染引擎使用WebKit,Gecko或Trident浏览器引擎,当某渲染引擎渲染失败时使用另一种渲染引擎重试。具体选择哪个引擎可以视用户端情况而定。
进一步的,渲染服务由一个分布式集群提供,该集群中节点的数量能够自动根据负载情况动态变化。以尽可能提高系统的负载能力,同时也可以降低渲染的时延。
进一步的,所述步骤S22中,服务器端设置一个缺省的周期或者在客户端上传过滤表达式时由用户指定周期。
本发明的有益效果是:
(1)本发明提出在服务器端使用渲染引擎对动态网页进行渲染,实现了对动态网页的监视,大幅提高了人们获取网页更新的效率。
(2)本发明提出使用过滤表达式精确表达用户在网页中的关注点,该过滤表达式可以是XPath或者RegularExpression或者是两者的组合,这种表达方式可以灵活地表达用户需求。
(3)本发明提出使用分布式的渲染服务器集群提供渲染服务,并当集群负载发生变化时自动增加或减少节点数量,能够有效提高系统负载,并实现负载均衡。
附图说明
图1为本发明提出的自动监视动态网页更新方法的流程图;
图2为实施例中辅助用户提取过滤表达式的流程;
图3为实施例分布式渲染服务器集群的系统架构图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明。
如图1所示,本发明的一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法主要分为两大部分。
第一部分的任务是获取用户关注点对应的过滤表达式,主要包括以下几个步骤:
(1)用户在应用或者客户端内输入需要关注的网址;
该网址即为待关注的目标网址,之后所有的操作均针对该网址进行。
(2)应用将用户关注的网址渲染并显示出来;
此处存在多种实现方法:法一,该应用以浏览器插件的形式存在,由浏览器插件操作浏览器,直接利用用户本地的浏览器打开目标网址;法二,该应用以客户端形式存在,客户端中内嵌一个渲染引擎,通过该渲染引擎对页面进行渲染显示;法三,该应用以网页形式存在,目标网页以frame形式内嵌到当前网页。考虑到跨域请求的相关问题,目标网页需要利用服务器端的渲染引擎进行渲染。
(3)用户通过鼠标选中或点击指定关注点,由应用自动生成过滤表达式,用户也可以自行编辑过滤表达式;
其中,过滤表达式可以使用XPath,RegularExpression或者是两者的组合形式,后续可以加入其它可能的过滤形式。
具体方法为:当用户通过鼠标选中或者点击页面中的元素时,应用可以获取用户所选或所点位置对应的XPath表达式。在此基础上,用户可以对此XPath进行修改或者加入其它过滤表达式,比如添加多个XPath表达式或者多个RegularExpression。对于专业用户,可以自行填写所需的过滤表达式,以尽可能表达用户的需求。
(4)应用将过滤表达式及相应的网址、用户等信息上传到服务器。
第二部分的任务是服务器端利用渲染引擎检查过滤表达式对应的内容更新,主要包括以下几个步骤:
(1)将用户的过滤表达式保存到数据库;
(2)周期性取出用户的过滤表达式;
服务器端可以设置一个缺省的周期或者在客户端上传过滤表达式时由用户指定周期。
(3)下载该过滤表达式对应的网页并用渲染引擎对网页进行渲染;
服务器将用户关注的网址发送到渲染服务器集群,由渲染服务器集群下载并渲染网页,最后将渲染好的网页发回原服务器。
(4)利用过滤表达式从渲染后的页面中提取出用户的关注点;
用户可能只关注网页中的部分内容,只有这部分内容的更新对用户才有意义。所以服务器端获取到渲染好的页面后,顺序执行用户事先定义的过滤表达式,提取出网页中用户感兴趣的内容,可以排除无关内容的干扰。
(5)与上一次保存的用户关注点进行对比,如果不同则将更新的内容推送给用户。
推送方式由用户根据自己的喜好事先指定,如邮箱,微信或者是客户端等方式。
下面结合具体实施例以及附图对本发明做进一步说明。
实施例
如图2、3所示,以自动监视“网易科技-创业Club”栏目的更新作为本发明具体实施方式介绍的应用场景。
(1)假设用户A需要关注“网易科技-创业Club”栏目的更新。用户在应用的目标网址输入框内输入相应的网址http://tech.163.com/chuang/;
(2)应用将目标网址发给渲染服务器,由渲染引擎对目标网址进行渲染,并将渲染后的结果返回给应用,应用将渲染后的网页显示给用户;
(3)用户通过鼠标拖拽选中“每日精选”对应的内容作为自己的关注点,应用可以获取到用户所选的“每日精选”对应的过滤表达式为XPath://*[id="mrjx"]/div[2]。用户可自行对该过滤表达式进行修改;
(4)应用将最终确定的过滤表达式(比如XPath://*[id="mrjx"]/div[2])上传到服务器;
(5)服务器端收到应用发来的过滤表达式会将结果存入数据库,比如:
(6)服务器每隔一个小时从数据库中取出该条记录,得到用户名,目标网址和过滤表达式,将该记录发送到渲染服务器集群;
(7)渲染服务器集群收到该渲染请求后,首先判断缓存内是否存在相同的渲染请求,如果存在且缓存尚未失效则直接从缓存中读取渲染结果,否则调用渲染引擎对目标网址进行渲染;
(8)渲染服务器集群得到渲染完成的结果后,顺序执行过滤表达式中的所有表达式,得到用户的关注点;
(9)将此次得到的用户关注点与上次保存的用户关注点进行对比,如果不同则将更新的内容通过用户指定的方式推送给用户。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:包括以下步骤:
S10、客户端获取用户关注点对应的过滤表达式:用户通过可视化界面指定网页中感兴趣的部分作为关注点,由应用或客户端自动生成或者由用户自己提供该关注点对应的过滤表达式;
S20、服务器端利用渲染引擎检查过滤表达式对应的内容更新:服务器端利用渲染引擎渲染动态网页,以获取与用户所见相同的页面,并提取出用户的关注点;
S30、当用户的关注点更新时,服务器端及时将更新内容推送给用户。
2.如权利要求1所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S10包括:
S11、用户在应用或客户端内输入需要关注的网址;
S12、应用将用户关注的网址渲染并显示出来;
S13、用户通过鼠标选中或点击指定关注点,由应用自动生成过滤表达式或者由用户自行编辑过滤表达式;
S14、应用将过滤表达式及相应的网址、用户信息上传到服务器。
3.如权利要求2所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S13的具体方法为:当用户通过鼠标选中或者点击页面中的元素时,应用能够获取用户所选或所点位置对应的过滤表达式;在此基础上,用户可以对此过滤表达式进行修改或者加入其它过滤表达式。
4.如权利要求1或2所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S10中,过滤表达式是XPath,RegularExpression或者是两者的组合形式。
5.如权利要求1所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S20包括:
S21、将用户的过滤表达式保存到数据库;
S22、周期性取出用户的过滤表达式;
S23、下载该过滤表达式对应的网页并用渲染引擎对网页进行渲染;
S24、利用过滤表达式从渲染后的页面中提取出用户的关注点;
S25、与上一次保存的用户关注点进行对比,如果不同则将更新的内容推送给用户。
6.如权利要求1或5所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S20中,判断网页是否更新的依据是用户的关注点是否更新,即首先使用过滤表达式对网页内容进行提取,再判断用户感兴趣的内容是否发生变化;只有当用户感兴趣的内容发生变化时,才会通知用户。
7.如权利要求1或5所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述渲染引擎使用WebKit,Gecko或Trident浏览器引擎,当某渲染引擎渲染失败时使用另一种渲染引擎重试。
8.如权利要求1或5所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:渲染服务由一个分布式集群提供,该集群中节点的数量能够自动根据负载情况动态变化。
9.如权利要求5所述的基于过滤表达式和渲染引擎的自动监视动态网页更新的方法,其特征在于:所述步骤S22中,服务器端设置一个缺省的周期或者在客户端上传过滤表达式时由用户指定周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510427806.3A CN105069032A (zh) | 2015-07-20 | 2015-07-20 | 一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510427806.3A CN105069032A (zh) | 2015-07-20 | 2015-07-20 | 一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105069032A true CN105069032A (zh) | 2015-11-18 |
Family
ID=54498404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510427806.3A Pending CN105069032A (zh) | 2015-07-20 | 2015-07-20 | 一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069032A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227823A (zh) * | 2016-07-21 | 2016-12-14 | 知几科技(深圳)有限公司 | 一种网页更新探测方法、网页信息抓取及呈现方法 |
CN107688577A (zh) * | 2016-08-04 | 2018-02-13 | 广州市动景计算机科技有限公司 | 页面资源过滤方法、装置和客户端设备 |
CN108334525A (zh) * | 2017-01-20 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据展示方法及装置 |
CN110546632A (zh) * | 2017-09-29 | 2019-12-06 | 谷歌有限责任公司 | 网页标记中的绑定的扫描 |
CN114968457A (zh) * | 2022-05-11 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 应用于子程序的表单处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN102930022A (zh) * | 2012-10-31 | 2013-02-13 | 中国运载火箭技术研究院 | 面向用户的信息搜索引擎系统及方法 |
US20130339343A1 (en) * | 2012-06-18 | 2013-12-19 | Ian Paul Hierons | Systems and methods to facilitate media search |
CN104142987A (zh) * | 2014-07-24 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种页面的内容管理方法、装置及终端设备 |
-
2015
- 2015-07-20 CN CN201510427806.3A patent/CN105069032A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
US20130339343A1 (en) * | 2012-06-18 | 2013-12-19 | Ian Paul Hierons | Systems and methods to facilitate media search |
CN102930022A (zh) * | 2012-10-31 | 2013-02-13 | 中国运载火箭技术研究院 | 面向用户的信息搜索引擎系统及方法 |
CN104142987A (zh) * | 2014-07-24 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种页面的内容管理方法、装置及终端设备 |
Non-Patent Citations (1)
Title |
---|
花的神明: "为Firefox开辟下载"快车道"", 《电脑迷》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227823A (zh) * | 2016-07-21 | 2016-12-14 | 知几科技(深圳)有限公司 | 一种网页更新探测方法、网页信息抓取及呈现方法 |
CN107688577A (zh) * | 2016-08-04 | 2018-02-13 | 广州市动景计算机科技有限公司 | 页面资源过滤方法、装置和客户端设备 |
CN108334525A (zh) * | 2017-01-20 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据展示方法及装置 |
CN110546632A (zh) * | 2017-09-29 | 2019-12-06 | 谷歌有限责任公司 | 网页标记中的绑定的扫描 |
CN110546632B (zh) * | 2017-09-29 | 2023-08-15 | 谷歌有限责任公司 | 网页标记中的绑定的扫描 |
CN114968457A (zh) * | 2022-05-11 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 应用于子程序的表单处理方法及装置 |
CN114968457B (zh) * | 2022-05-11 | 2024-05-03 | 支付宝(杭州)信息技术有限公司 | 应用于子程序的表单处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853837B2 (en) | Integrated testing, targeting and measuring of web site components | |
JP5443513B2 (ja) | ドメインにわたりクッキーを処理する方法およびシステム | |
CN101364979B (zh) | 下载资料解析及处理系统及方法 | |
CN105069032A (zh) | 一种基于过滤表达式和渲染引擎的自动监视动态网页更新的方法 | |
US20130326333A1 (en) | Mobile Content Management System | |
KR101768793B1 (ko) | 토큰 피기백킹 시스템 및 방법 | |
US9811590B1 (en) | Managing cached data in a network environment | |
US20120117494A1 (en) | System and method for expediting information display | |
WO2017107620A1 (zh) | 一种页面数据的加载方法和系统 | |
KR20150130282A (ko) | 실시간 비딩용 지능형 플랫폼 | |
US10454859B1 (en) | In-message applications in a messaging platform | |
SG190645A1 (en) | System and method for tracking usage | |
JP2011505605A5 (zh) | ||
CN103034690A (zh) | 一种基于web服务的移动客户端应用程序自定制方法 | |
WO2014108038A1 (zh) | 一种生成常用网址的客户端、服务器、系统和方法 | |
WO2011032815A1 (en) | Analyzing an interaction history to generate a customized webpage | |
US20150081798A1 (en) | Process-based inter-thing collaboration apparatus and method in web of things environment | |
CN104615700A (zh) | 浏览器中收藏网页对象的方法、浏览器客户端和系统 | |
CN110263070A (zh) | 事件上报方法及装置 | |
KR20160019090A (ko) | 내장된 미디어에 관련하여 부가 콘텐트를 제공 | |
CN104102577A (zh) | 多版本网页访问测试方法 | |
US9679297B2 (en) | Method and apparatus for isolating analytics logic from content creation in a rich internet application | |
Chen et al. | Towards a collaborative global land cover information service | |
Wischenbart et al. | Engaging end-user driven recommender systems: personalization through web augmentation | |
CN108108381B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151118 |
|
RJ01 | Rejection of invention patent application after publication |