一种存储和定位网页上选取内容的方法技术

技术编号:10515543 阅读:109 留言:0更新日期:2014-10-08 15:07
本发明专利技术公开了一种存储和定位网页上选取内容的方法,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,当定位失败时,可以利用选取内容在网页中出现的总次数以及在第几次出现来重新定位。本发明专利技术适应性强,无论是在计算机还是移动终端上都可以精确稳定。

【技术实现步骤摘要】

本专利技术属于Web网页
,特别是一种存储和定位网页上选取内容的方法。 
技术介绍
现有技术中,存储和定位网页上的选取内容的方法有两种,一种方法是针对静态网页,通过保存上次用户使用鼠标标记时操作起始所在的屏幕坐标来定位选取内容,局限性非常明显。 另一种方法通过保存用户选取内容的XPath路径来定位,DOM(Document Object Model)是一种处理可扩展标记语言(包括HTML)的标准编程接口,它将HTML文档看成是一棵拥有许多结点的树,而XPath 则是遵循DOM 的路径格式的路径表达式,可以描述从一个DOM节点到另一个DOM结点的步骤顺序。该方法通过记录根节点到选取内容所在DOM节点的XPath路径来实现定位选取内容。 其不足如下: 1.用在静态网页时,网页文档被修改后,新网页无法根据已保存的XPath路径信息定位选取内容;2.用在动态网页时,由于浏览器插件可能对网页增加一些标签以达到插件效果,所保存的XPath路径在新插件无法加载时,无法用来定位选取内容;3.移动终端上浏览器对于网页的呈现方式与PC上有所不同,即生成的DOM树结构有所不同,故在PC端保存的选取内容可能无法在移动终端的网页上定位。
技术实现思路
本专利技术所要解决的技术问题是针对
技术介绍
的缺陷,提供一种在计算机和移动终端上都可以精确稳定地存储和定位网页上的选取内容的方法。 本专利技术为解决上述技术问题采用以下技术方案: 一种存储和定位网页上选取内容的方法,设有网页元素标签表,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,其中计算用户选取内容起始位置和结束位置的偏移量的步骤如下:步骤1.1),计算出选取内容起始位置与最近的DOM节点startNode之间的内容长度startOffset;步骤1.2),从参照节点开始,遍历startNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;步骤1.3),将startNode节点之前每个节点中内容的长度进行累加,得到startNode节点的偏移量;步骤1.4),将startNode节点的偏移量加上选取内容起始位置与startNode节点之间的内容长度startOffset,得到选取内容起始位置的偏移量;步骤1.5),计算出选取内容结束位置与最近的DOM节点endNode之间的内容长度endOffset;步骤1.6),从参照节点开始,遍历endNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;步骤1.7),将endNode节点之前每个节点中内容的长度进行累加,得到endNode节点的偏移量;步骤1.8),将endNode节点的偏移量加上选取内容结束位置与endNode节点之间的内容长度endOffset,得到选取内容结束位置的偏移量。作为本专利技术进一步的优化方案,所述根据定位信息在新网页中定位选取内容的步骤如下: 步骤2.1),从定位信息中取得以下信息:网页url、参照节点、选取内容起始位置的偏移量和选取内容结束位置的偏移量;步骤2.2),在新网页中,遍历参照节点中的子节点,每经过一个节点,判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度,并将节点中内容的长度进行累加;步骤2.3),当累加值第一次大于或者等于选取内容起始位置的偏移量时,获取该节点前面一个节点startNode的累加值,将选取内容起始位置的偏移量减去startNode节点的累加值得到选取内容起始位置与startNode节点之间的内容长度startOffset;步骤2.4),根据所述内容长度startOffset得到选取内容起始位置;步骤2.5),将累加的值第一次大于或者等于选取内容结束位置的偏移量时,获取该节点前面一个节点endNode的累加值,将选取内容结束位置的偏移量减去endNode节点的累加值得到选取内容起始位置与endNode节点之间的内容长度endOffset;步骤2.6),根据所述内容长度endOffset得到选取内容结束位置;步骤2.7),根据选取内容起始位置和选取内容结束位置定位选取内容。作为本专利技术进一步的优化方案,将选取内容在参照节点中出现的次数以及选取内容出现在第几次也作为定位信息存储到服务器中,当新网页中定位的选取内容与定位信息中的选取内容不相同时,尝试重新定位,其步骤如下: 步骤3.1),从服务器取得定位信息:网页url、参照节点、选取内容、选取内容起始位置的偏移量、选取内容结束位置的偏移量、选取内容在参照节点中出现的次数以及选取内容出现在第几次;步骤3.2),在新网页的参照节点中检索定位信息中的选取内容,记录其出现的次数;步骤3.3),判断检索所得的次数与定位信息中选取内容在参照节点中出现的次数是否相等,如果不相等,提醒用户新网页内容发生变化,无法重新定位,如果相等,则执行步骤3.4);步骤3.4),根据定位信息中选取内容出现在第几次重新定位选取内容;步骤3.5),计算重新定位的选取内容的起始位置和结束位置的偏移量,并更新到服务器中已保存的定位信息中。本专利技术采用以上技术方案与现有技术相比,具有以下技术效果: 1.网页文档结构中增加或减少网页元素标签表中长度为零的标签时,不影响定位;2.网页内容有不涉及选取内容的改变时,可以智能地重新定位;3.无论移动终端和PC端对于网页结构的解析如何不同,都可以精确稳定地定位;4.可以有效克服不同浏览器间对html文档解析的差异性。具体实施方式下面对本专利技术的技术方案做进一步的详细说明: 本专利技术公开了一种存储和定位网页上选取内容的方法,设有网页元素标签表,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,其中计算用户选取内容起始位置和结束位置的偏移量的步骤如下:步骤1.1),计算出选取内容起始位置与最近的DOM节点startNode之间的内容长度startOffset;步骤1.2),从参照节点开始,遍历startNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点本文档来自技高网...

【技术保护点】
一种存储和定位网页上选取内容的方法,其特征在于设有网页元素标签表,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,其中计算用户选取内容起始位置和结束位置的偏移量的步骤如下:步骤1.1),计算出选取内容起始位置与最近的DOM节点startNode之间的内容长度startOffset;步骤1.2),从参照节点开始,遍历startNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;步骤1.3),将startNode节点之前每个节点中内容的长度进行累加,得到startNode节点的偏移量;步骤1.4),将startNode节点的偏移量加上选取内容起始位置与startNode节点之间的内容长度startOffset,得到选取内容起始位置的偏移量;步骤1.5),计算出选取内容结束位置与最近的DOM节点endNode之间的内容长度endOffset;步骤1.6),从参照节点开始,遍历endNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;步骤1.7),将endNode节点之前每个节点中内容的长度进行累加,得到endNode节点的偏移量;步骤1.8),将endNode节点的偏移量加上选取内容结束位置与endNode节点之间的内容长度endOffset,得到选取内容结束位置的偏移量。...

【技术特征摘要】
1. 一种存储和定位网页上选取内容的方法,其特征在于设有网页元素标签表,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,其中计算用户选取内容起始位置和结束位置的偏移量的步骤如下:
步骤1.1),计算出选取内容起始位置与最近的DOM节点startNode之间的内容长度startOffset;
步骤1.2),从参照节点开始,遍历startNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;
步骤1.3),将startNode节点之前每个节点中内容的长度进行累加,得到startNode节点的偏移量;
步骤1.4),将startNode节点的偏移量加上选取内容起始位置与startNode节点之间的内容长度startOffset,得到选取内容起始位置的偏移量;
步骤1.5),计算出选取内容结束位置与最近的DOM节点endNode之间的内容长度endOffset;
步骤1.6),从参照节点开始,遍历endNode节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;
步骤1.7),将endNode节点之前每个节点中内容的长度进行累加,得到endNode节点的偏移量;
步骤1.8),将endNode节点的偏移量加上选取内容结束位置与endNode节点之间的内容长度endOffset,得到选取内容结束位置的偏移量。
2. 根据权利要求1所述的一种存储和定位网页上选取内容的方法,其特征在于所述根据定位信息在新网页中定位选取内容的步骤如下:
步骤2.1),从定位信息中取得以下信息:网页url、参照节点、选取内容起始位置的偏移量和选取内容结束位置的偏移量;
步骤2.2),在新...

【专利技术属性】
技术研发人员:肖运根章隆泉过俊宏
申请(专利权)人:无锡市崇安区科技创业服务中心
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1