CN104090947A - 一种存储和定位网页上选取内容的方法 - Google Patents
一种存储和定位网页上选取内容的方法 Download PDFInfo
- Publication number
- CN104090947A CN104090947A CN201410312889.7A CN201410312889A CN104090947A CN 104090947 A CN104090947 A CN 104090947A CN 201410312889 A CN201410312889 A CN 201410312889A CN 104090947 A CN104090947 A CN 104090947A
- Authority
- CN
- China
- Prior art keywords
- content
- node
- choosing
- choose
- play amount
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种存储和定位网页上选取内容的方法,以网页正文的根节点为参照节点,计算出用户选取内容起始位置和结束位置的偏移量,将网页url、参照节点、选取内容、选取内容起始位置的偏移量和选取内容结束位置的偏移量作为定位信息保存到服务器,需要再现选取内容时,从服务器中取得定位信息并根据定位信息在新网页中定位选取内容,当定位失败时,可以利用选取内容在网页中出现的总次数以及在第几次出现来重新定位。本发明适应性强,无论是在计算机还是移动终端上都可以精确稳定。
Description
技术领域
本发明属于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节点之前的每个节点,并判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度;
步骤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),计算重新定位的选取内容的起始位置和结束位置的偏移量,并更新到服务器中已保存的定位信息中。
Claims (3)
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),在新网页中,遍历参照节点中的子节点,每经过一个节点,判断节点标签是否是网页元素标签表中的标签,如果是,将表中标签对应的值作为节点中内容的长度,如果不是,取得节点中内容的长度,并将节点中内容的长度进行累加;
步骤2.3),当累加值第一次大于或者等于选取内容起始位置的偏移量时,获取该节点前面一个节点startNode的累加值,将选取内容起始位置的偏移量减去startNode节点的累加值得到选取内容起始位置与startNode节点之间的内容长度startOffset;
步骤2.4),根据所述内容长度startOffset得到选取内容起始位置;
步骤2.5),将累加的值第一次大于或者等于选取内容结束位置的偏移量时,获取该节点前面一个节点endNode的累加值,将选取内容结束位置的偏移量减去endNode节点的累加值得到选取内容起始位置与endNode节点之间的内容长度endOffset;
步骤2.6),根据所述内容长度endOffset得到选取内容结束位置;
步骤2.7),根据选取内容起始位置和选取内容结束位置定位选取内容。
3. 根据权利要求2所述的一种存储和定位网页上选取内容的方法,其特征在于将选取内容在参照节点中出现的次数以及选取内容出现在第几次也作为定位信息存储到服务器中,当新网页中定位的选取内容与定位信息中的选取内容不相同时,尝试重新定位,其步骤如下:
步骤3.1),从服务器取得定位信息:网页url、参照节点、选取内容、选取内容起始位置的偏移量、选取内容结束位置的偏移量、选取内容在参照节点中出现的次数以及选取内容出现在第几次;
步骤3.2),在新网页的参照节点中检索定位信息中的选取内容,记录其出现的次数;
步骤3.3),判断检索所得的次数与定位信息中选取内容在参照节点中出现的次数是否相等,如果不相等,提醒用户新网页内容发生变化,无法重新定位,如果相等,则执行步骤3.4);
步骤3.4),根据定位信息中选取内容出现在第几次重新定位选取内容;
步骤3.5),计算重新定位的选取内容的起始位置和结束位置的偏移量,并更新到服务器中已保存的定位信息中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410312889.7A CN104090947A (zh) | 2014-07-03 | 2014-07-03 | 一种存储和定位网页上选取内容的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410312889.7A CN104090947A (zh) | 2014-07-03 | 2014-07-03 | 一种存储和定位网页上选取内容的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104090947A true CN104090947A (zh) | 2014-10-08 |
Family
ID=51638663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410312889.7A Pending CN104090947A (zh) | 2014-07-03 | 2014-07-03 | 一种存储和定位网页上选取内容的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104090947A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107211194A (zh) * | 2015-02-13 | 2017-09-26 | 松下知识产权经营株式会社 | 内容再现系统、录制装置、终端装置以及内容再现方法 |
CN112287177A (zh) * | 2020-11-25 | 2021-01-29 | 城云科技(中国)有限公司 | 一种创建、变更、显示和查询对象标签的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155147A2 (en) * | 2011-05-12 | 2012-11-15 | Webtrends, Inc. | Graphical-user-interface-based method and system for designing and configuring web-site testing and analysis |
CN103488560A (zh) * | 2012-06-12 | 2014-01-01 | 腾讯科技(深圳)有限公司 | 一种用于网页测试的测试目标处理方法和装置 |
CN104036026A (zh) * | 2014-06-27 | 2014-09-10 | 吴涛军 | 存储和定位结构化文档选取内容的方法与系统 |
-
2014
- 2014-07-03 CN CN201410312889.7A patent/CN104090947A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155147A2 (en) * | 2011-05-12 | 2012-11-15 | Webtrends, Inc. | Graphical-user-interface-based method and system for designing and configuring web-site testing and analysis |
CN103488560A (zh) * | 2012-06-12 | 2014-01-01 | 腾讯科技(深圳)有限公司 | 一种用于网页测试的测试目标处理方法和装置 |
CN104036026A (zh) * | 2014-06-27 | 2014-09-10 | 吴涛军 | 存储和定位结构化文档选取内容的方法与系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107211194A (zh) * | 2015-02-13 | 2017-09-26 | 松下知识产权经营株式会社 | 内容再现系统、录制装置、终端装置以及内容再现方法 |
CN112287177A (zh) * | 2020-11-25 | 2021-01-29 | 城云科技(中国)有限公司 | 一种创建、变更、显示和查询对象标签的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488732A (zh) | 一种静态页面生成方法及装置 | |
CN105630902A (zh) | 一种渲染和增量更新网页的方法 | |
CN103678511B (zh) | 根据可视化模板进行网页内容抽取的方法及装置 | |
CA2817554A1 (en) | Mobile content management system | |
CN106575298A (zh) | 包含动态内容和陈旧内容的网站的快速呈现 | |
TWI592807B (zh) | Method and device for web style address merge | |
CN102915375A (zh) | 一种基于布局分区的网页加载方法 | |
CN103246732B (zh) | 一种在线Web新闻内容的抽取方法及系统 | |
CN105094786A (zh) | 基于JavaScript定制页面的方法及系统 | |
CN103577171B (zh) | 一种显示网页内容的方法和移动终端 | |
CN103678685A (zh) | 一种网页标注方法及装置 | |
CN102360368A (zh) | 基于抽取模板可视化定制的Web数据抽取方法 | |
CN104462540A (zh) | 网页信息抽取方法 | |
CN103473347B (zh) | 一种基于网页相似度的浏览器渲染优化方法 | |
CN104239356A (zh) | 一种网页评论方法、系统及浏览器 | |
CN104504160A (zh) | 基于SSH框架的Excel文档在线批量写入方法 | |
CN103678509A (zh) | 生成网页模板的方法及装置 | |
CN104317845A (zh) | 一种深度网络数据自动抽取方法及系统 | |
WO2011069903A1 (en) | Method and system for on-line editing electronic documents | |
CN103902571A (zh) | 保存网页完整内容的方法、系统及相应的客户端和服务器 | |
CN104090947A (zh) | 一种存储和定位网页上选取内容的方法 | |
CN103678510A (zh) | 对网页提供可视化标注的方法及装置 | |
CN110390037B (zh) | 基于dom树的信息分类方法、装置、设备及存储介质 | |
CN104504125A (zh) | 网页数据监测方法和装置 | |
CN104866489A (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: 20141008 |
|
RJ01 | Rejection of invention patent application after publication |