一种针对网页的处理方法、装置和设备的制作方法

文档序号:6382209阅读:216来源:国知局
专利名称:一种针对网页的处理方法、装置和设备的制作方法
技术领域
本发明涉及网页技术,特别是涉及一种针对网页的处理方法、装置和设备。
背景技术
随着移动终端和互联网技术的发展,人们越来越多的通过手机、平板电脑等移动终端对网络进行访问。但是,移动终端为了达到便于携带的目的,屏幕设计的往往比较小,因此移动终端中屏幕的显示内容比较有限。移动终端在对网络进行访问时,可以访问网页,网页中除了主要展示的正文以外,还包括标题、相关链接、推荐内容以及广告等等内容。因此,在移动终端就需要在比较小的屏幕中显示出网页中的内容。用户在浏览网页时,用户主要查看的是网页的正文部分,而对于网页中的相关链接、推荐内容还有广告等内容,往往是略过不看的。另外,移动终端的屏幕比较小,广告等内容如占据过多的显示页面,网页展示的正文内容就会受到限制,导致用户在浏览网页时,可能会需要向下翻很多页才能查看到正文,网页浏览非常不方便,查看网页内容时也比较浪费时间。

发明内容
本发明实施例提供了一种针对网页的处理方法和装置,以解决受用移动终端浏览网页时浏览不方便的问题。本发明公开了一种针对网页的处理方法,包括获取对网页的网页文档解析后生成的DOM树和render树;由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。较佳的,所述依据所述render树确定所述DOM树中的可见节点,采用如下方式检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,则所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。较佳的,所述确定各可见节点的预览值,采用如下方式根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。较佳的,所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。较佳的,将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。较佳的,所述依据所述各可见节点的预览值确定所述网页中预览内容,采用如下方式获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点;依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点;由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。较佳的,所述依据最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定执行预览的可见节点,采用如下方式若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。较佳的,所述依据所述层级关系,从最高可见节点和次高可见节点中确定所述预览内容所处的可见节点,采用如下方式若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。较佳的,所述依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点,采用如下方式若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。相应的,本发明实施例还公开了一种针对网页的处理装置,包括获取模块,用于获取对网页的网页文档解析后生成的DOM树和render树;预览值确定模块,用于由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;显示模块,用于依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。较佳的,所述预览值确定模块,包括检测子模块,用于检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,贝U所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。较佳的,所述预览值确定模块,包括预览值确定子模块,用于根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。较佳的,所述预览值确定子模块,还用于在所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。较佳的,所述预览值确定子模块,还用于将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。较佳的,所述显示模块,包括获取子模块,用于获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点;节点确定子模块,用于依据所述最高可见节点和次闻可见节点的层级关系,从所述最闻可见节点和次闻可见节点中确定所述预览内容所处的可见节点;内容提取子模块,用于由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。较佳的,所述节点确定子模块,具体用于若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。较佳的,所述节点确定子模块,具体用于若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。较佳的,所述节点确定子模块,具体用于若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。较佳的,所述显示模块,还包括起始节点确定子模块,用于判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。较佳的,所述显示模块,还包括结束节点确定子模块,用于依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。相应的,本发明实施例公开了一种设备,所述设备包括一个或多个处理器;存储器;和—个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能获取对网页的网页文档解析后生成的DOM树和render树;由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。与背景技术相比,本发明实施例包括以下优点首先,本发明实施例可以获取DOM树和render树,并确定DOM树中的各个可见节点,再依据具体的需求,由各可见节点的标签确定对应可见节点的预览值,最终确定网页中的预览内容进行显示,预览内容可以是依据需求而从网页中提取的关键内容,从而可以较小的移动终端的屏幕中显示关键内容,方便用户查看、阅读网页的内容,减少浏览时间。其次,本发明实施例可以依据需求设定标签对应的初始预览值,作为所述标签对应的可见节点的预览值,从而可以依据需求确定各标签的可见节点预览的可能性。进一步,为了使页面布局各具重点,符合用户的需求,还可以设置预设标签的附加预览值,该附件预览值可以依据可见节点对应网页中的内容而确定,从而使得可见节点的预览值更准确,显示的预览内容等突出重点。再次,本发明实施例还考虑到可见节点的层级关系,在计算预览值时若某一可见节点是其他可见节点的父节点,则会将其他可见节点的预览值按照一定比重添加到该可见节点的预览值中,从而使预览值更加准确,使最终确定的预览内容更加准确。


图1是本发明实施例所述一种针对网页的处理方法流程图;图2是本发明实施例所述可见节点检测方法流程图;图3是本发明实施例所述DOM树示意图;图4是本发明实施例所述预览内容确定方法流程图;图5是本发明实施例所述起始节点确定方法流程图;图6是本发明实施例所述一种针对网页的处理装置结构图;图7是本发明另一实施例所述针对网页的处理装置结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。移动终端在对网络进行访问时,可以访问网页,网页中除了主要展示的正文以外,还包括标题、相关链接、推荐内容以及广告等等内容。因此,在移动终端就需要在比较小的屏幕中显示出网页中的内容。本发明实施例针对上述情况,提供了一种针对网页的处理方法,可以依据网页文档解析后生成的DOM树和render树,确定网页的预览内容并进行显示。从而可以提取出网页中的关键内容作为预览内容进行显示,方便用户查看网页,减少浏览时间。其中,预览内容即为网页中除去广告、推荐内容等之外的关键信息,一般为网页中包括有题目的正文内容。用户使用移动终端的浏览器访问网页时,可以获取到该网页的网页文档如html文档,浏览器会对该网页文档进行解析以显示网页。解析时可以生成文件对象模型(Document Object Model, DOM)树和render树,并根据DOM树和render树进行布局(layout)。其中,DOM树用于描述网页的页面信息;render树用于对网页的页面进行布局,具体负责描述DOM树中的信息在屏幕上的位置;Lay0ut为浏览器对网页的布局操作。具体实施中,浏览器在对网页文档进行解析生成DOM树和render树后,首先会通过layout将网页布局在内存中,再根据layout运算结果逐步的将网页绘制到显示屏幕上。因此在网页文档布局完成后,也就生成了 DOM树和render树。本发明实施例在此基础上执行后续操作,重新布局网页的页面,具体如下。参照图1,给出了本发明实施例所述一种针对网页的处理方法流程图。
步骤101,获取对网页的网页文档解析后生成的DOM树和render树。浏览器对网页的网页文档进行解析后,可以生成DOM树和render树,本发明实施例可以获取该DOM树和render树。步骤102,由render树确定DOM树中的各个可见节点,并确定各可见节点的预览值。DOM树中存储有由对网页文档进行解析而得到的各个节点,例如,DOM树的根节点是文件(Document)对象,即对网页文档进行操作的入口 ;又如,DOM树中的一类子节点是文本(text)对象,即网页文档中的一些文本内容。有上述内容可知,DOM树中具备不同类型的节点,而各类型的节点在网页文档中的作用也各不相同,因此,DOM树中的一部分节点对应的内容可以在网页中显示出来,如表示text对象的节点,另一部分节点对应的内容不能在网页中进行显示,如表示Document对象的根节点。若节点对应的内容可以在网页中显示,则将该节点作为可见节点,即可见节点是在网页中显示的内容对应的节点;若节点对应的内容不能在网页中显示,则将该节点作为不可见节点。页面渲染时,render树负责记录DOM树中的可见节点在页面中的估计显示位置,因此,对于DOM树中的各个节点,可以通过查询render树来确定以确定该节点是否可见,从而确定DOM树中的各个可见节点。网页中包含各种各样的信息,如标题、正文、图片和链接等,因此对于DOM树中的可见节点,由于其在网页文档中表征的具体内容不同。本发明实施例可以依据网页重新布局时的需求,为各可见节点配置相应的预览值。所述预览值可以依据所述节点所表征的内容的类型,如图片、文字等进行配置,也可以依据各可见节点在网页中表征的具体内容产生相应的预览值。例如,重新布局时着重显示页面中的图片,则与图片相关的标签可以配置较高的预览值。又如,重新布局时着重显示页面中的文字内容,则与标题、正文相关的标签可以配置较高的预览值,或可以根据文字的多少确定预览值得高低。其中,可见节点的预览值可以标识该可见节点对应内容在网页中预览的可能性。因此,根据各可见节点的标签确定对应可见节点的预览值后,就可以获取到该可见节点对应的内容在网页中预览的可能性的高低。步骤103,依据各可见节点的预览值确定网页中的预览内容,并对所述预览内容进行显示。本发明实施例可以根据可见节点的预览值确定网页中的预览内容,例如,可以设定一个预览值的标准,凡是预览值达到该标准的可见节点,其对应的内容都可以设为预览内容。又如,可以仅将预览值最高的可见节点对应的内容作为预览内容。获取到预览内容后,就获取到了重新布局所要显示的内容,因此可以显示该预览内容。综上所述,本发明实施例可以获取DOM树和render树,并确定DOM树中的可见节点,再依据具体的需求,由各可见节点的标签确定对应可见节点的预览值,最终确定网页中的预览内容进行显示,预览内容可以是依据需求而从网页中提取的关键内容,从而可以较小的移动终端的屏幕中显示关键内容,方便用户查看、阅读网页的内容,减少浏览时间。参照图2,给出了本发明实施例所述可见节点检测方法流程图。较佳的,依据render树确定DOM树中的各个可见节点,包括检测DOM树中的节点是否存在于render树中;若该节点不存在于render树中,则该节点不是可见节点;若该节点存在于所述render树中,则该节点为可见节点。具体过程如下步骤201,获取DOM树中的一个节点。DOM树中有许多个节点,要分别确定每一个节点是否是可见节点,就要一次获取各个节点,然后执行后续的检测操作。即需要从DOM树中获取一个节点,该节点检测完成后再获取下一个节点,直到DOM树中所有节点都完成检测为止。步骤202,检测该节点是否存在于render树中。若是,即该节点存在于render树中,则执行步骤204;若否,即该节点不存在于render树中,则执行步骤203。步骤203,该节点不是可见节点。render树负责DOM树中内容的显示,因此若DOM树中的一个节点不存在于render树中,则该节点必然没有相关的显示信息。因此,若所述节点不存在于所述render树中,则所述节点不是可见节点,可以忽略该节点。后续执行步骤205。步骤204,该节点为可见节点。若DOM树中获取的节点存在于render树中,则说明该节点具有相关的显示信息,因此该节点是可见节点。后续执行步骤205。当然,通过节点是否存在于render树中来确定节点是否为可见节点,只是确定可见节点的一种方法,当然还可以在遍历DOM树的各节点时,检测该节点在DOM树中的属性及其属性值,通过该属性值进一步确定该节点是否为可见节点。其中,DOM树中的节点具备一些与显示相关的属性,依据这类属性的属性值就可以确定该节点是否可见。例如,节点的“display”属性的属性值为〃none〃,或者“visibility”属性的属性值为"hidden",则该节点是不可见节点,相反的,就为可见节点。步骤205,检测DOM树中是否有未检测的节点。确定一个节点是可见节点或不是可见节点后,就完成了对该节点的检测,但是需要对所有节点都完成判断才能执行后续的流程,因此可以检测DOM树中是否有未检测的节点。若是,即DOM树中有未检测的节点,则返回步骤201 ;若否,即DOM树中没有未检测的节点,则结束检测。综上所述,本发明实施例可以依据render树确定DOM树中的各个可见节点,具体包括检测DOM树中的节点是否在render树中,若在render树中,则进一步检测其属性值,从而确定该节点是否为可见节点,因此可以准确、快速的确定DOM树中的可见节点。较佳的,确定各可见节点的预览值,包括根据各可见节点的标签确定各可见节点初始预览值,并将初始预览值作为标签各可见节点的预览值。
由于DOM树中的可见节点在网页文档中表征的具体内容不同,因此各可见节点也具有不同的标签。具体的,标签可以看作是节点的标识,是在配置网页文档时就配置完成的,例如,网页文档中标题部分的内容是〈titIe>XXXXX-XXX-XX〈/ti11e>,该内容对应DOM树中的节点以〈title〉为起点,以〈/title〉为终点,该节点为可见节点,该可见节点的标签就是title。本发明实施例中,可以为每一个标签配置一个初始预览值,至于初始预览值的大小,就可以依据重新布局的需求,灵活的设定。因此,对于每一个可见节点,它的标签可以表征出在网页中的显示内容,也就可以表征出该可见标签的预览可能性,因此可以根据标题确定各可见节点的初始预览值,并将该初始预览值作为该可见节点的预览值。较佳的,可见节点的标签为预设标签时,根据在网页文档中该可见节点对应的内容确定附加预览值;将该附加预览值与预设标签的初始预览值相加得到该可见节点的预览值。虽然可见节点的标签相同,但其在网页中的具体内容是不同,因此其在重新布局时预览的可能性还是存在区别的。例如,网页中正文载入的图片通常比推荐内容载入的图片大,该网页着重展示的是正文载入的图片,与此同时,用户浏览该网页想要查看的往往也是正文载入的图片,因此不同大小的图片对应的可见节点的预览值可以不同。又如,网页的文字内容中,摘要部分的文字往往比正文部分的文字少很多,该网页着重展示的是正文部分,用户浏览网页时主要查看的通常也是正文部分,因此正文部分对应的可见节点的预览值和摘要部分对应的可见节点的预览值可以具有差别。因此,本发明实施例中当可见节点的标签为预设标签时,可以获取该可见节点在网页中对应的内容,再计算该内容的附加预览值,即内容的多少、大小可以影响可见节点的预览值。例如,着重展示文字内容时,正文部分的内容对应的可见节点的标签一般为text,当然摘要部分的内容对应的可见节点的标签也是text。此时针对标签为text的可见节点对应的内容,可以为内容的长度、文字、标点符号等都配置相应的附件预览值,从而标签为text的可见节点就可以根据其具体的内容计算出相应的附加预览值,从而区分出同种标签的可见节点的在重新布局时预览的区别。其中,预设标签可以根据具体需求设定,如着重展示文字内容时,预设标签为text ;着重展示图片时,预设标签为img。获取到可见节点的附加预览值后,将该附加预览值与预设标签的初始预览值相加求和,从而计算出该可见节点的预览值,即附加预览值与初始预览值的和。综上所述,本发明实施例可以依据需求设定标签对应的初始预览值,作为所述标签对应的可见节点的预览值,从而可以依据需求确定各标签的可见节点预览的可能性。进一步,为了使页面布局各具重点,符合用户的需求,还可以设置预设标签的附加预览值,该附件预览值可以依据可见节点对应网页中的内容而确定,从而使得可见节点的预览值更准确,显示的预览内容等突出重点。参照图3,给出了本发明实施例所述DOM树示意图。
较佳的,DOM树中的可见节点间还具有层级关系,其中,上层可见节点是其下层可见节点的I级父节点,则上层可见节点的I级父节点是其下层可见节点的2级父节点,依次类推,上层可见节点的η级父节点是其下层可见节点的η+1级父节点。本发明实施例中DOM树的可见节点还具有层级关系,即上下层的可见节点是具有关联关系的。其中,上层可见节点和其下层可见节点(即该上层可见节点的下层可见节点)是相对于相连的两个可见节点而言的。如图3中,A和B是相连的两个可见节点,则A是上层可见节点,B是A的下层可见节点;Α和D不是相连的两个可见节点,则D不是A的下层可见节
点。 具体的该层级关系表现为I)上层可见节点是其下层可见节点的I级父节点。如图3中,若I是上层可见节点,则M和N是I的下层可见节点,则I是Μ、N的I级父节点。2)上层可见节点的I级父节点是其下层可见节点的2级父节点。若D是上层可见节点,则I和J是I的下层可见节点,则I是1、J的I级父节点,进一步,I是Μ、N的2级父节点。同理,若B是上层可见节点,则D和E是B的下层可见节点,则B是D、E的I级父节点,进一步,B是1、J的2级父节点,并且B是Μ、N的3级父节点。......以此类推。3)上层可见节点的η级父节点是其下层可见节点的η+1级父节点。如图3中,设n=3,A是I的3级父节点,则A是Μ、N的4级父节点。在上述实施例的基础上,预览值的确定方法还包括将可见节点的预览值按照比重添加到该可见节点的各级父节点的预览值中。可见节点间具备层级关系时,这些可见节点往往也具备一定的关联关系。例如网页中正文的标题、摘要、时间信息和具体的文本内容等都是对应于不同的可见节点的,但是这些可见节点是具有层级关系的。在重新布局网页时,也需要考虑到网页中内容的完整性,各个可见节点并不是独立存在的,因此可以根据所述层级关系配置各可见节点在其各级父节点中所占的比重。例如,可见节点在其I级父节点中所占的比重是O. 5,在其2级父节点中所占的比重是
0.3,......在其η级父节点中所占的比重是X。然后计算可见节点的预览值时,若该可见节点是某些可见节点的父节点,则可以按照对应的比重对这些可见节点的预览值进行加权,并添加到该可见节点的预览值之中。如图3中,假设M的预览值为10,N的预览值为30,J的预览值为24,未考虑I作为父节点的情况下,I的预览值为8,未考虑D作为预览值时,D的预览值为15。由于I作为M和N的I级父节点,则I的预览值=8+10*0. 5+30*0. 5=28。D作为I和J的I级父节点,并且作为M和N的2级父节点,则D的预览值=15+28*0.5+24*0. 5+10*0. 3+20*0. 3=50。由此就可以计算出各可见节点的预览值,再继续进行后续操作。综上所述,本发明实施例还考虑到可见节点的层级关系,在计算预览值时若某一可见节点是其他可见节点的父节点,则会将其他可见节点的预览值按照一定比重添加到该可见节点的预览值中,从而使预览值更加准确,使最终确定的预览内容更加准确。参照图4,给出了本发明实施例所述预览内容确定方法流程图。较佳的,依据各可见节点的预览值确定网页中预览内容,包括步骤401,获取预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点。获取所有可见节点的预览值以后,可以对所有可见节点的预览值进行统计、比较,从而获取预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点。步骤402,依据最闻可见节点和次闻可见节点的层级关系,从最闻可见节点和次闻可见节点中确定预览内容所处的可见节点。然后可以依据可见节点间的层级关系,确定最高可见节点和次高可见节点具有怎样的层级关系,进而根据该层级关系中确定执行预览的可见节点,即预览内容所处可见节点。具体包括I)若最高可见节点是次高可见节点的任一级父节点,则将最高可见节点作为预览内容所处的可见节点。若通过检测确定最高可见节点是次高可见节点的任一级父节点,则说明最高可见节点和次闻可见节点具有一定的关联关系,例如,最闻可见节点可能对应网页中正文的标题部分,次高可见节点可能对应网页中正文的文字内容部分,因此可以将最高可见节点作为预览内存所处的可见节点。本发明实施例中不限定于仅展示执行预览的可见节点对应的内容,而可以是重新布局网页时,从该预览内容所处的可见节点提取出开始显示内容。例如,上述图3中最高可见节点为D,次高可见节点为N,则其中D是N的2级父节点,则可见将D作为预览内容所处的可见节点,从D对应的内容开始进行显示。2)若最高可见节点不是次高可见节点的任一级父节点,则依据最高可见节点和次高可见节点对应内容在网页中的位置关系,确定预览内容所处的可见节点。若最高可见节点不是次高可见节点的任一级父节点,则说明最高可见节点和次高可见节点间不具备直接的上下层关系,此时可以检测最高可见节点和次高可见节点对应内容在网页中的位置关系,从而确定预览内容所处的可见节点。其中,render树中包含各可见节点对应内容在网页中的位置,但是render树中记录出的位置是在layout前生成的,实际layout时具体内容的位置可能存在差别。例如,render树中某一可见节点的上层可见节点对应内容是图片,放置图片后才显示该可见节点的内容,因此render树中存储的该可见节点的位置是图片显示后的为止,但实际Iayout时,该图片为获取成功,则图片不会显示,因此该可见节点的内容的位置发生了变化,也即render树中记录的位置不是实际位置。本发明实施例为了更准确的布局网页中的内容,可以在layout时计算并记录各可见节点对应内容的位置,并以此时记录的位置判断最高可见节点和次高可见节点的位置关系,确定预览内容所处的可见节点。具体如下①位置关系为左右且不重合;分别计算最高可见节点和次高可见节点中,所包括的标签为预设标签的节点的附加预览值的和值,并将和值大的可见节点作为预览内容所处的可见节点。若最高可见节点和次高可见节点对应内容在网页中的位置关系为左右且不重合,说明这两个可见节点对应内容在网页中分属不同部分,因此可以依据预设标签对应内容的多少来确定预览内容所处的可见节点。具体的,由于一个可见节点可能是若干可见节点的父节点,而这若干可见节点中一部分可见节点的标签是预设标签,因此可以将这些是预设标签的可见节点的附件预览值都相加求和,作为该可见节点的附加预览值,也即要依据最高可见节点和次高可见节点中各预设标签的附加预览值的和值,确定预览内容所处的可见节点。例如假设图3中最高可见节点为D其预览值为50,次高可见节点为C,其预览值为48。D和C不具备父子关系,并且其对应内容在网页中的位置关系为左右且不重合,则可以计算D和C中预设标签的附加预览值的和值。以D为例具体论述,假设D、J和M的标签是预设标签,则D中预设标签的附加预览值的和值=D的附加预览值+J的附加预览值+M的附加预览值。为了重新布局网页时有重点的展示,可以将预设标签的附加预览值的和值最大的可见节点作为执行预览的可见节点。②除左右且不重合以外的其他位置关系;将最高可见节点和次高可见节点的公共父节点作为执行预览的可见节点。若最高可见节点和次高可见节点对应内容在网页中的位置关系不是左右且不重合,即为其他位置关系,则最高可见节点和次高可见节点对应内容都是比较重要的,因此可以查找最高可见节点和次高可见节点的公共父节点,然后将该公共父节点作为预览内容所处的可见节点。如假设图3中最高可见节点为D,次高可见节点为E,则D和E对应内容在网页中的位置关系不是左右且不重合,则将D和E的公共父节点B作为执行预览的可见节点。其中,公共父节点指的是几个可见节点的共有的父节点,至于是否是同一级父节点,是哪一级父节点,本发明实施例不做限定。步骤403,由预览内容所处的可见节点对应网页文档中的内容开始为预览内容。可以将预览内容所处的可见节点对应网页文档中的内容作为预览内容的一部分,由确定得到的所述预览内容所处的可见节点提取得到所述预览内容,具体的从执行预览的可见节点对应网页文档中的内容开始进行预览。即将该内容的开始出作为预览内容的起点。参照图5,给出了本发明实施例所述起始节点确定方法流程图。较佳的,确定预览内容所处的可见节点之后,所述方法还包括步骤501,判断可见节点的节点内容中是否存在第一预设字符。当确定预览内容所处的可见节点之后,还需要具体依照该可见节点中的具体内容,确定预览内容。因此首先需要确定预览内容的起始点。由于该可见节点可能是一些可见节点的某级父节点,因此该可见节点的内容可能包含很多节点的内容。网页中的内容是与节点相对应的,因此确定预览内容的起始点就可以看作是确定起始节点。因此,可以首先判断可见节点的节点内容中是否存在第一预设字符,其中所述第一预设字符是网页中具有起始标志的相关字符。例如,网页中的正文内容中往往会先记录时间,或给出正文的标题,或标识正文的来源(如转自XXX网)等,因此这些时间信息、标题和来源的就可以作为一类第一预设字符。若是,即可见节点的节点内容中存在第一预设字符,则执行步骤502;若否,即可见节点的节点内容中不存在第一预设字符,则执行步骤502。步骤502,将第一预设字符所处的节点作为起始节点。当存在第一预设字符时,可以将第一预设字符所处的节点作为起始节点,例如,第一预设字符是时间信息,因此就可以将该时间信息所处的节点作为起始节点,从该起始节点处开始布局预览内容。步骤503,将标签为预设标签的节点作为起始节点。当不存在第一预设字符时,可以将预览内容所处的可见节点中,首次出现预设标签的节点作为起始节点,从该节点处开始布局预览内容。较佳的,确定预览内容所处的可见节点之后,还包括依据render树确定预览内容的结束节点,所述结束节点包括在预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到DOM树中可见节点的结尾。对于预览内容的结束点,可以依据render树来确定。因为若该网页后续还有其他网页,则在执行预览的可见节点之后的可见节点对应内容中,通常会以“下一页”、“末页”等为结尾,因此找到“下一页”等字样,就可以将其作为结束点。若没有“下一页”等信息,通常网页正文结束后,会存在一些连续的链接内容,并且这些链接往往具备一定的格式,如这些链接是左对齐,行间距相同,且行间距不超过他们的高度等,因此可以将这些配置为预置格式,若在执行预览的可见节点之后的可见节点对应内容包含若干预置格式的链接,则将此作为结束点。进一步为了防止内容丢失,在确定到若干预置格式的链接后,若通过render树确定其之后还有预设标签的可见节点,例如text的可见节点,连接后可能较长的文本,则忽略这些链接,继续向后查找。当然,也可以达到DOM树中可见节点的结尾,然后将该结尾作为结束点,确定预览内容,最终完成网页布局,显示预览内容。综上所述,本发明实施例将预览值最大的两个可见节点作为最高可见节点和次高可见节点,从而由最高可见节点和次高可见节点确定执行预览的可见节点,进而将执行预览的可见节点对应所述网页文档中的内容开始为预览内容,使确定的预览内容能够比较准确的显示出重点,方便用户查看、阅读。参照图6,给出了本发明实施例所述一种针对网页的处理装置结构图。本发明实施例中还提供了一种针对网页的处理装置,包括获取模块11、预览值确定模块12和显示模块13,其中获取模块11,用于获取对网页的网页文档解析后生成的DOM树和render树;预览值确定模块12,用于由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;显示模块13,用于依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。
参照图7,给出了本发明另一实施例所述针对网页的处理装置结构图。较佳的,所述预览值确定模块12,包括检测子模块121,用于检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,则所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。较佳的,所述预览值确定模块12,包括预览值确定子模块122,用于根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。较佳的,所述预览值确定子模块122,还用于在所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。较佳的,所述预览值确定子模块122,还用于将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。较佳的,所述显示模块13,包括获取子模块131,用于获取所述预览值最大的两个可见节点,分别作为最高可见节点和次闻可见节点;节点确定子模块132,用于依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点;内容提取子模块135,用于由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。较佳的,所述节点确定子模块132,具体用于若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。较佳的,所述节点确定子模块132,具体用于若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。较佳的,所述节点确定子模块132,具体用于若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。较佳的,所述显示模块13,还包括起始节点确定子模块133,用于判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。较佳的,所述显示模块13,还包括结束节点确定子模块134,用于依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。相应的,本发明实施例还提供了一种设备,所述设备包括
一个或多个处理器;存储器;和一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能获取对网页的网页文档解析后生成的DOM树和render树;由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。较佳的,所述依据所述render树确定所述DOM树中的可见节点,采用如下方式检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,则所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。较佳的,所述确定各可见节点的预览值,采用如下方式根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。较佳的,所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。较佳的,将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。较佳的,所述依据所述各可见节点的预览值确定所述网页中预览内容,采用如下方式获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点;依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点;由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。较佳的,所述依据最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定执行预览的可见节点,采用如下方式若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。较佳的,所述依据所述层级关系,从最高可见节点和次高可见节点中确定所述预览内容所处的可见节点,采用如下方式若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。较佳的,所述依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点,采用如下方式若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。本实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在具有触摸屏幕的设备时,可以使得该设备执行如下步骤的指令(instructions)获取对网页的网页文档解析后生成的DOM树和render树;由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。较佳的,所述依据所述render树确定所述DOM树中的可见节点,采用如下方式检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,则所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。较佳的,所述确定各可见节点的预览值,采用如下方式根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。较佳的,所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。较佳的,将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。较佳的,所述依据所述各可见节点的预览值确定所述网页中预览内容,采用如下方式获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点;依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点;由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。较佳的,所述依据最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定执行预览的可见节点,采用如下方式若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。较佳的,所述依据所述层级关系,从最高可见节点和次高可见节点中确定所述预览内容所处的可见节点,采用如下方式若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。较佳的,所述依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点,采用如下方式若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签·的节点作为起始节点。较佳的,确定所述预览内容所处的可见节点之后,所述方法还包括依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上对本发明所提供的一种针对网页的处理方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种针对网页的处理方法,其特征在于,包括 获取对网页的网页文档解析后生成的DOM树和render树; 由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值; 依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。
2.根据权利要求1所述的方法,其特征在于,所述依据所述render树确定所述DOM树中的可见节点,采用如下方式 检测所述节点是否存在于所述render树中; 若所述节点不存在于所述render树中,则所述节点不是可见节点; 若所述节点存在于所述render树中,则所述节点为可见节点。
3.根据权利要求1所述的方法,其特征在于,所述确定各可见节点的预览值,采用如下方式 根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。
4.根据权利要求3所述的方法,其特征在于,还包括 所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值; 将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。
5.根据权利要求4所述的方法,其特征在于,还包括 将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。
6.根据权利要求1所述的方法,其特征在于,所述依据所述各可见节点的预览值确定所述网页中预览内容,采用如下方式 获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点; 依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点; 由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。
7.根据权利要求6所述的方法,其特征在于,所述依据最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定执行预览的可见节点,采用如下方式 若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。
8.根据权利要求7所述的方法,其特征在于,所述依据所述层级关系,从最高可见节点和次高可见节点中确定所述预览内容所处的可见节点,采用如下方式 若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。
9.根据权利要求8所述的方法,其特征在于,所述依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点,采用如下方式 若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点; 若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。
10.根据权利要求6所述的方法,其特征在于,确定所述预览内容所处的可见节点之后,所述方法还包括 判断所述可见节点的节点内容中是否存在第一预设字符; 当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点; 当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。
11.根据权利要求6所述的方法,其特征在于,确定所述预览内容所处的可见节点之后,所述方法还包括 依据render树确定预览内容的结束节点,所述结束节点包括 在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。
12.—种针对网页的处理装置,其特征在于,包括 获取模块,用于获取对网页的网页文档解析后生成的DOM树和render树; 预览值确定模块,用于由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值; 显示模块,用于依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。
13.根据权利要求12所述的装置,其特征在于,所述预览值确定模块,包括 检测子模块,用于检测所述节点是否存在于所述render树中;若所述节点不存在于所述render树中,则所述节点不是可见节点;若所述节点存在于所述render树中,则所述节点为可见节点。
14.根据权利要求12所述的装置,其特征在于,所述预览值确定模块,包括 预览值确定子模块,用于根据所述各可见节点的标签确定所述各可见节点的初始预览值,并将所述初始预览值作为所述各可见节点的预览值。
15.根据权利要求14所述的装置,其特征在于 所述预览值确定子模块,还用于在所述可见节点的标签为预设标签时,根据在网页文档中所述可见节点对应的内容确定附加预览值;将所述附加预览值与所述初始预览值相加得到所述可见节点的预览值。
16.根据权利要求15所述的装置,其特征在于 所述预览值确定子模块,还用于将所述可见节点的预览值按照预设的比重添加到所述可见节点的各级父节点的预览值中。
17.根据权利要求12所述的装置,其特征在于,所述显示模块,包括 获取子模块,用于获取所述预览值最大的两个可见节点,分别作为最高可见节点和次高可见节点; 节点确定子模块,用于依据所述最高可见节点和次高可见节点的层级关系,从所述最高可见节点和次高可见节点中确定所述预览内容所处的可见节点;内容提取子模块,用于由确定得到的所述预览内容所处的可见节点提取得到所述预览内容。
18.根据权利要求16所述的装置,其特征在于; 所述节点确定子模块,具体用于若所述最高可见节点是所述次高可见节点的任一级父节点,则将所述最高可见节点作为所述预览内容所处的可见节点。
19.根据权利要求18所述的装置,其特征在于; 所述节点确定子模块,具体用于若所述最高可见节点不是所述次高可见节点的任一级父节点,则依据所述最高可见节点和次高可见节点对应内容在网页中的位置关系,确定所述预览内容所处的可见节点。
20.根据权利要求19所述的装置,其特征在于; 所述节点确定子模块,具体用于若所述位置关系为左右且不重合,则分别计算所述最高可见节点和次高可见节点中所包括的标签为预设标签的节点的预览值的和值,并将所述和值大的可见节点作为所述预览内容所处的可见节点;若为除左右且不重合以外的其他位置关系,则将所述最高可见节点和次高可见节点的公共父节点作为所述预览内容所处的可见节点。
21.根据权利要求17所述的装置,其特征在于,所述显示模块,还包括 起始节点确定子模块,用于判断所述可见节点的节点内容中是否存在第一预设字符;当存在第一预设字符时,将所述第一预设字符所处的节点作为起始节点;当不存在第一预设字符时,将标签为预设标签的节点作为起始节点。
22.根据权利要求17所述的装置,其特征在于,所述显示模块,还包括 结束节点确定子模块,用于依据render树确定预览内容的结束节点,所述结束节点包括在所述预览内容所处的可见节点之后的可见节点对应内容包含若干预置格式的链接,或达到所述DOM树中可见节点的结尾。
23.一种设备,其特征在于,所述设备包括 一个或多个处理器; 存储器;和 一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能 获取对网页的网页文档解析后生成的DOM树和render树; 由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值; 依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显/Jn o
全文摘要
本发明实施例提供了一种针对网页的处理方法、装置和设备,涉及网页技术。所述的方法包括获取对网页的网页文档解析后生成的DOM树和render树;由所述render树确定所述DOM树中的可见节点,并确定各可见节点的预览值;依据所述各可见节点的预览值确定所述网页中的预览内容,并对所述预览内容进行显示。
文档编号G06F17/30GK103020156SQ20121048439
公开日2013年4月3日 申请日期2012年11月23日 优先权日2012年11月23日
发明者张少伟, 徐国市, 左景龙 申请人:北京小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1