网页重新布局的方法和装置制造方法

文档序号:6543709阅读:191来源:国知局
网页重新布局的方法和装置制造方法
【专利摘要】本发明提出一种网页重新布局的方法和装置,为提高展现效果和提升用户体验。该网页重新布局的方法包括构建页面分块树;获取所述页面分块树中每个分块的重要度;根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。该方法能够提高展现效果,并且可以提升用户体验。
【专利说明】网页重新布局的方法和装置
【技术领域】
[0001 ] 本发明涉及网页转码【技术领域】,尤其涉及一种网页重新布局的方法和装置。
【背景技术】
[0002]随着移动设备的普及率越来越高,人们通过移动设备浏览网页的需求越来越高,但是,互联网中的网页大部分是基于桌面显示设备所设计的,造成通过移动设备浏览网页时的不便。为了方便用户在移动设备中浏览网页,需要对网页进行重新布局以适用于移动设备的显示。
[0003]相关技术中,一般是通过对原页面进行压缩页面尺寸、调整文字大小、文本折行等方式对网页进行重新布局。但是,这种方式可能造成页面核心内容被淹没,使得用户无法获取所关心的内容,降低页面展示效果。

【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种网页重新布局的方法,该方法可以优先展示页面核心内容,提高页面展示效果。
[0006]本发明的另一个目的在于提出一种网页重新布局的装置。
[0007]为达到上述目的,本发明第一方面实施例提出的网页重新布局的方法,包括:构建页面分块树;获取所述页面分块树中每个分块的重要度;根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
[0008]本发明第一方面实施例提出的网页重新布局的方法,通过根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0009]为达到上述目的,本发明第二方面实施例提出的网页重新布局的装置,包括:构建模块,用于构建页面分块树;获取模块,用于获取所述页面分块树中每个分块的重要度;重排模块,用于根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
[0010]本发明第二方面实施例提出的网页重新布局的装置,通过根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0011]为达到上述目的,本发明第三方面实施例提出的移动设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:构建页面分块树;获取所述页面分块树中每个分块的重要度;根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。[0012]本发明第三方面实施例提出的移动设备,通过根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0013]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0014]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0015]图1为本发明一实施例中提出的网页重新布局的方法的流程示意图;
[0016]图2为本发明实施例中构建页面分块树的流程示意图;
[0017]图3为本发明实施例中对初步的布局分块进行处理的流程示意图;
[0018]图4为本发明实施例中对初步的布局分块进行处理的结构示意图;
[0019]图5为本发明实施例中建立的页面分块树的示意图;
[0020]图6为本发明实施例中各分块的重要度排序示意图;
[0021]图7为本发明实施例中重排后的分块示意图;
[0022]图8为本发明另一实施例提出的网页重新布局的装置的结构示意图;
[0023]图9为本发明实施例中构建模块的结构示意图。
【具体实施方式】
[0024]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0025]图1为本发明一实施例中提出的网页重新布局的方法的流程示意图,该方法包括:
[0026]Sll:构建页面分块树。
[0027]页面分块树可以从整个页面对应的大块开始,对每次迭代的分块进行划分和/或合并得到。
[0028]参见图2,构建页面分块树可以包括:
[0029]S21:从整个页面中展示节点的根节点开始,依次遍历每个子节点,得到初步的布局分块;
[0030]其中,根节点可以是DOM (document)树中的body节点,body是超文本标记语言(Hyper Text Mark-up Language, HTML)即超文本标记语言的一种标签,是整个页面中展示节点的根节点,body包含文档的所有内容,例如文本、超链接、表格、图像和列表等。
[0031]可以将具有布局特征的节点所对应的分块确定为一个初步的布局分块;将非连续的不具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及,将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。[0032]其中,具有布局特征的节点例如为div标签对应的节点,tr标签对应的节点等。不具有布局特征的节点例如为puretext标签对应的节点,p标签对应的节点等。
[0033]S22:对所述初步的布局分块,按照如下的顺序进行处理,得到处理后的分块:横向合并、横向划分、纵向划分,直至处理后的每个分块的粒度在预设的门限值内;
[0034]即优先对初步的布局分块进行横向合并,再进行横向划分,之后再进行纵向划分。
[0035]横向合并是指合并相邻且高度近似相同的分块,由于页面布局一般具有横向语义相关性,经过横向合并可以避免将横向语义相关分块拆分,方便用户理解分块内容。
[0036]横向划分是指对页面从上至下进行划分。
[0037]纵向划分是指针对每个横向划分后的分块,在该分块中从左至右的进行划分。
[0038]其中,参见图3,对初步的布局分块进行处理的流程可以包括:
[0039]S31:判断是否存在可以横向合并的两个分块,若是,执行S32,否则执行S33。
[0040]当第一块和第二块满足如下条件时,可以对第一块和第二块进行合并处理,所述第一块和所述第二块为所述初步的布局分块中横向相邻的两个布局分块:
[0041]abs (ysl-ys2) <=thy,且 abs (yel-ye2) <=thy,以及,abs (xel_xs2) <=thx,
[0042]其中,ysl表示第一块纵坐标的起始坐标,ys2表示第二块纵坐标的起始坐标,yel表示第一块纵坐标的结束坐标,ye2表示第二块纵坐标的结束坐标,xel表示第一块横坐标的结束坐标,xs2表示第二块横坐标的起始坐标,thy和thx分别为预设的门限值,abs表示求绝对值。
[0043]S32:合并该两个分块。
[0044]参见图4,合并后的分块用虚线表示。
[0045]S33:对页面进行横向划分。
[0046]横向划分具体可以包括:
[0047]依次增加横向分割线的纵坐标,使得所述横向分割线从上至下依次移动,所述横向分割线是横跨页面的一条线;
[0048]在所述横向分割线依次移动过程中,当所述横向分割线没有穿过任何块时,采用所述横向分割线将页面划分为上半部分和下半部分,所述块为经过横向合并后的布局分块;
[0049]在所述下半部分,再次依次增加所述横向分割线的纵坐标,并在所述横向分割线没有穿过任何块时,再次采用所述横向分割线进行划分,直至所述横向分割线到达页面最底端,得到横向划分后的分块。
[0050]如图4所示,经过横向划分后,得到的横向划分后的分块用点划线表示。
[0051]S34:对应每个横向划分后的分块,进行纵向划分。
[0052]纵向划分可以包括:
[0053]在每个横向划分后得到的分块中,依次增加纵向分割线的横坐标,使得所述纵向分割线从左至右依次移动,所述纵向分割线是纵跨横向划分后得到的分块的一条线;
[0054]在所述纵向分割线依次移动过程中,当所述纵向分割线没有穿过任何块时,采用所述纵向分割线将所述横向划分后得到的分块划分为左半部分和右半部分,所述块为经过横向合并和横向划分后的分块;
[0055]在右半部分,再次依次增加所述纵向分割线的横坐标,并在所述纵向分割线没有穿过任何块时,再次采用所述纵向分割线进行划分,直至所述纵向分割线到达页面最右端,得到横向划分后的分块。
[0056]如图4所示,经过纵向划分后,得到的纵向划分后分块用点线表示。
[0057]经过上述处理后,判断划分后的分块的粒度是否在预设的门限值内,其中,划分后的分块是指经过横向划分以及纵向划分后的分块,如果不在,重复上述流程,即在每个分块内遍历子节点以及横向合并和横向划分及纵向划分处理。
[0058]本实施例中,通过优先横向合并,由于语义一般具有横向相关性,可以避免将语义相关分块拆分,有利于用户理解。
[0059]S23:根据所述划分后的分块的嵌套关系,得到页面分块树。
[0060]其中,如图5所示,页面分块树从上至下依次为:横向划分后得到的分块,纵向划分后得到的分块,横向合并后的分块。
[0061]S12:获取所述页面分块树中每个分块的重要度。
[0062]具体可以包括:
[0063]对于横向划分后得到的分块,设置最上端和最下端的分块的重要度最低,对最上端和最下端之间的中间各分块,按照从上到下的顺序,设置重要度依次递减。
[0064]例如,由于bl、b2在最上端,bl3_bl6在最下端,因此,bl和b2以及bl3_bl6的重要度设置为最低,另外,可以设置最下端的分块的重要度比最上端的分块的重要度低。
[0065]对于b3-b8以及b9-bl2这两个横向分块,可以设置b3-b8的分块的重要度比b9-bl2的重要度高。
[0066]对于纵向划分后得到的分块,采用如下公式确定各分块的重要度:
[0067]wl*width-w2*distance,
[0068]其中,width表示分块的宽度,distance表示分块中心的横坐标距离页面中轴的距离,wl和《2表示预先设定的系数。
[0069]例如,对于b3_b8这个横向划分后的分块,由于b3、b8在两端,因此重要度比b4_b7这个分块的重要度低。而对于b3和b8这两个分块可以从左到右设置依次递减。
[0070]按照重要度从高到低的顺序,对各分块从上到下排序60的示意图参见图6。
[0071]S13:根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
[0072]例如,重新排序后的各分块70如图7所示。
[0073]其中,各分块展示的粒度可以根据预设的适合移动终端的粒度值确定。
[0074]本实施例根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0075]图8为本发明另一实施例提出的网页重新布局的装置的结构示意图,该装置80包括构建模块81、获取模块82和重排模块83。
[0076]构建模块81用于构建页面分块树;
[0077]页面分块树可以从整个页面对应的大块开始,对每次迭代的分块进行划分和/或合并得到。
[0078]参见图9,所述构建模块81可以具体包括第一单元811、第二单元812和第三单元813 ;
[0079]第一单元811用于从整个页面中展示节点的根节点开始,依次遍历每个子节点,得到初步的布局分块;
[0080]其中,根节点可以是DOM (document)树中的body节点,body是超文本标记语言(Hyper Text Mark-up Language, HTML)即超文本标记语言的一种标签,是整个页面中展示节点的根节点,body包含文档的所有内容,例如文本、超链接、表格、图像和列表等。
[0081]可以将具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及,将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。
[0082]其中,具有布局特征的节点例如为div标签对应的节点,tr标签对应的节点等。不具有布局特征的节点例如为puretext标签对应的节点,p标签对应的节点等。
[0083]一个实施例中,所述第一单元具体用于:[0084]将具有布局特征的节点所对应的分块确定为一个初步的布局分块;
[0085]将非连续的不具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及,
[0086]将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。
[0087]第二单元812用于对所述初步的布局分块,按照如下的顺序进行处理,得到处理后的分块,直至处理后的每个分块的粒度在预设的门限值内:
[0088]横向合并、横向划分、纵向划分;
[0089]即优先对初步的布局分块进行横向合并,再进行横向划分,之后再进行纵向划分。
[0090]横向合并是指合并相邻且高度近似相同的分块,由于页面布局一般具有横向语义相关性,经过横向合并可以避免将横向语义相关分块拆分,方便用户理解分块内容。
[0091]横向划分是指对页面从上至下进行划分。
[0092]纵向划分是指针对每个横向划分后的分块,在该分块中从左至右的进行划分。
[0093]一个实施例中,第二单元进行的所述横向合并,包括:
[0094]当第一块和第二块满足如下条件时,对所述第一块和所述第二块进行合并处理,所述第一块和所述第二块为所述初步的布局分块中横向相邻的两个布局分块:
[0095]abs (ysl-ys2) <=thy,且 abs (yel-ye2) <=thy,以及,abs (xel_xs2) <=thx,
[0096]其中,ysl表示第一块纵坐标的起始坐标,ys2表示第二块纵坐标的起始坐标,yel表示第一块纵坐标的结束坐标,ye2表示第二块纵坐标的结束坐标,xel表示第一块横坐标的结束坐标,xs2表示第二块横坐标的起始坐标,thy和thx分别为预设的门限值,abs表示求绝对值。
[0097]一个实施例中,所述第二单元进行的所述横向划分,包括:
[0098]依次增加横向分割线的纵坐标,使得所述横向分割线从上至下依次移动,所述横向分割线是横跨页面的一条线;
[0099]在所述横向分割线依次移动过程中,当所述横向分割线没有穿过任何块时,采用所述横向分割线将页面划分为上半部分和下半部分,所述块为经过横向合并后的布局分块;
[0100]在所述下半部分,再次依次增加所述横向分割线的纵坐标,并在所述横向分割线没有穿过任何块时,再次采用所述横向分割线进行划分,直至所述横向分割线到达页面最底端,得到横向划分后的分块。
[0101]一个实施例中,所述第二单元进行的所述纵向划分,包括:
[0102]在每个横向划分后得到的分块中,依次增加纵向分割线的横坐标,使得所述纵向分割线从左至右依次移动,所述纵向分割线是纵跨横向划分后得到的分块的一条线;
[0103]在所述纵向分割线依次移动过程中,当所述纵向分割线没有穿过任何块时,采用所述纵向分割线将所述横向划分后得到的分块划分为左半部分和右半部分,所述块为经过横向合并和横向划分后的分块;
[0104]在右半部分,再次依次增加所述纵向分割线的横坐标,并在所述纵向分割线没有穿过任何块时,再次采用所述纵向分割线进行划分,直至所述纵向分割线到达页面最右端,得到横向划分后的分块。
[0105]第三单元813用于根据所述划分后的分块的嵌套关系,得到页面分块树。
[0106]一个实施例中,所述第三单元得到的所述页面分块树从上至下由如下块组成:
[0107]横向划分后得到的分块;
[0108]纵向划分后得到的分块;
[0109]横向合并后得到的分块。
[0110]获取模块82用于获取所述页面分块树中每个分块的重要度;
[0111]—个实施例中,所述获取模块具体用于:
[0112]对于横向划分后得到的分块,设置最上端和最下端的分块的重要度最低,对最上端和最下端之间的中间各分块,按照从上到下的顺序,设置重要度依次递减。
[0113]例如,由于bl、b2在最上端,bl3-bl6在最下端,因此,bl和b2以及bl3_bl6的重要度设置为最低,另外,可以设置最下端的分块的重要度比最上端的分块的重要度低。
[0114]对于b3-b8以及b9-bl2这两个横向分块,可以设置b3-b8的分块的重要度比b9-bl2的重要度高。
[0115]—个实施例中,所述获取模块具体用于:
[0116]对于纵向划分后得到的分块,采用如下公式确定各分块的重要度:
[0117]wl*width_w2*distance,
[0118]其中,width表示分块的宽度,distance表示分块中心的横坐标距离页面中轴的距离,wl和《2表示预先设定的系数。
[0119]例如,对于b3_b8这个横向划分后的分块,由于b3、b8在两端,因此重要度比b4_b7这个分块的重要度低。而对于b3和b8这两个分块可以从左到右设置依次递减。
[0120]按照重要度从高到低的顺序,对各分块从上到下排序的示意图参见图6。
[0121]重排模块83用于根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
[0122]其中,各分块展示的粒度可以根据预设的适合移动终端的粒度值确定。
[0123]例如,重新排序后的各分块如图6所示。
[0124]本实施例的装置是与上述方法实施例对应的,具体流程及参数可以参见上述方法实施例中的描述。
[0125]本实施例根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0126]本发明实施例还提供了一种移动设备,该移动设备包括壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0127]SlT:构建页面分块树。
[0128]页面分块树可以从整个页面对应的大块开始,对每次迭代的分块进行划分和/或合并得到。
[0129]构建页面分块树可以包括:
[0130]S21’:从整个页面中展示节点的根节点开始,依次遍历每个子节点,得到初步的布局分块;
[0131]其中,根节点可以是DOM (document)树中的body节点,body是超文本标记语言(Hyper Text Mark-up Language, HTML)即超文本标记语言的一种标签,是整个页面中展示节点的根节点,body包含文档的所有内容,例如文本、超链接、表格、图像和列表等。
[0132]可以将具有布局特征的节点所对应的分块确定为一个初步的布局分块;将非连续的不具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及,将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。
[0133]其中,具有布局特征的节点例如为div标签对应的节点,tr标签对应的节点等。不具有布局特征的节点例如为puretext标签对应的节点,p标签对应的节点等。
[0134]S22’:对所述初步的布局分块,按照如下的顺序进行处理,得到处理后的分块:横向合并、横向划分、纵向划分,直至处理后的每个分块的粒度在预设的门限值内;
[0135]即优先对初步的布局分块进行横向合并,再进行横向划分,之后再进行纵向划分。
[0136]横向合并是指合并相邻且高度近似相同的分块,由于页面布局一般具有横向语义相关性,经过横向合并可以避免将横向语义相关分块拆分,方便用户理解分块内容。
[0137]横向划分是指对页面从上至下进行划分。
[0138]纵向划分是指针对每个横向划分后的分块,在该分块中从左至右的进行划分。
[0139]其中,对初步的布局分块进行处理的流程可以包括:
[0140]S31’:判断是否存在可以横向合并的两个分块,若是,执行S32’,否则执行S33’。
[0141]当第一块和第二块满足如下条件时,可以对第一块和第二块进行合并处理,所述第一块和所述第二块为所述初步的布局分块中横向相邻的两个布局分块:
[0142]abs (ysl-ys2) <=thy,且 abs (yel-ye2) <=thy,以及,abs (xel_xs2) <=thx,
[0143]其中,ysl表示第一块纵坐标的起始坐标,ys2表示第二块纵坐标的起始坐标,yel表示第一块纵坐标的结束坐标,ye2表示第二块纵坐标的结束坐标,xel表示第一块横坐标的结束坐标,xs2表示第二块横坐标的起始坐标,thy和thx分别为预设的门限值,abs表示求绝对值。
[0144]S32’:合并该两个分块。
[0145]参见图4,合并后的分块用虚线表示。
[0146]S33’:对页面进行横向划分。[0147]横向划分具体可以包括:
[0148]依次增加横向分割线的纵坐标,使得所述横向分割线从上至下依次移动,所述横向分割线是横跨页面的一条线;
[0149]在所述横向分割线依次移动过程中,当所述横向分割线没有穿过任何块时,采用所述横向分割线将页面划分为上半部分和下半部分,所述块为经过横向合并后的布局分块;
[0150]在所述下半部分,再次依次增加所述横向分割线的纵坐标,并在所述横向分割线没有穿过任何块时,再次采用所述横向分割线进行划分,直至所述横向分割线到达页面最底端,得到横向划分后的分块。
[0151]如图4所示,经过横向划分后,得到的横向划分后的分块用点划线表示。
[0152]S34’:对应每个横向划分后的分块,进行纵向划分。
[0153]纵向划分可以包括:
[0154]在每个横向划分后得到的分块中,依次增加纵向分割线的横坐标,使得所述纵向分割线从左至右依次移动,所述纵向分割线是纵跨横向划分后得到的分块的一条线;
[0155]在所述纵向分割线依次移动过程中,当所述纵向分割线没有穿过任何块时,采用所述纵向分割线将所述横向划分后得到的分块划分为左半部分和右半部分,所述块为经过横向合并和横向划分后的分块;
[0156]在右半部分,再次依次增加所述纵向分割线的横坐标,并在所述纵向分割线没有穿过任何块时,再次采用所述纵向分割线进行划分,直至所述纵向分割线到达页面最右端,得到横向划分后的分块。
[0157]如图4所示,经过纵向划分后,得到的纵向划分后分块用点线表示。
[0158]经过上述处理后,判断划分后的分块的粒度是否在预设的门限值内,其中,划分后的分块是指经过横向划分以及纵向划分后的分块,如果不在,重复上述流程,即在每个分块内遍历子节点以及横向合并和横向划分及纵向划分处理。
[0159]本实施例中,通过优先横向合并,由于语义一般具有横向相关性,可以避免将语义相关分块拆分,有利于用户理解。
[0160]S23’:根据所述划分后的分块的嵌套关系,得到页面分块树。
[0161]其中,如图5所示,页面分块树从上至下依次为:横向划分后得到的分块,纵向划分后得到的分块,横向合并后的分块。
[0162]S12’:获取所述页面分块树中每个分块的重要度。
[0163]具体可以包括:
[0164]对于横向划分后得到的分块,设置最上端和最下端的分块的重要度最低,对最上端和最下端之间的中间各分块,按照从上到下的顺序,设置重要度依次递减。
[0165]例如,由于bl、b2在最上端,bl3_bl6在最下端,因此,bl和b2以及bl3_bl6的重要度设置为最低,另外,可以设置最下端的分块的重要度比最上端的分块的重要度低。
[0166]对于b3-b8以及b9-bl2这两个横向分块,可以设置b3-b8的分块的重要度比b9-bl2的重要度高。
[0167]对于纵向划分后得到的分块,采用如下公式确定各分块的重要度:
[0168]wl*width_w2*distance,[0169]其中,width表示分块的宽度,distance表示分块中心的横坐标距离页面中轴的距离,wl和《2表示预先设定的系数。
[0170]例如,对于b3_b8这个横向划分后的分块,由于b3、b8在两端,因此重要度比b4_b7这个分块的重要度低。而对于b3和b8这两个分块可以从左到右设置依次递减。
[0171]按照重要度从高到低的顺序,对各分块从上到下排序的示意图参见图6。
[0172]S13’:根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
[0173]例如,重新排序后的各分块如图7所示。
[0174]其中,各分块展示的粒度可以根据预设的适合移动终端的粒度值确定。
[0175]本实施例根据分块的重要度对分块进行重新排序,可以优先展现重要的分块,使用户优先获取关心的内容,提高用户体验。并且,通过横向合并可以将同语义块划分到一个分块中展示,内容层次更加合理。
[0176]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0177]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0178]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0179]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0180]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0181 ] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0182]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0183]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”、“顺时
针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0184]在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0185]在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0186]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【权利要求】
1.一种网页重新布局的方法,其特征在于,包括: 构建页面分块树; 获取所述页面分块树中每个分块的重要度; 根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
2.根据权利要求1所述的方法,其特征在于,所述构建页面分块树,包括: 从整个页面中展示节点的根节点开始,依次遍历每个子节点,得到初步的布局分块; 对所述初步的布局分块,按照如下的顺序进行处理,得到处理后的分块,直至处理后的每个分块的粒度在预设的门限值内: 横向合并、横向划分、纵向划分; 根据所述划分后的分块的嵌套关系,得到页面分块树。
3.根据权利要求2所述的方法,其特征在于,所述依次遍历每个子节点,得到初步的布局分块,包括: 将具有布局特征的节点所对应的分块确定为一个初步的布局分块; 将非连续的不具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及, 将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。
4.根据权利要求2所述的方法,其特征在于,所述横向合并,包括: 当第一块和第二块满足如下条件时,对所述第一块和所述第二块进行合并处理,所述第一块和所述第二块为所述初步的布局分块中横向相邻的两个布局分块:abs (ysl-ys2) <=thy,且 abs (yel-ye2) <=thy,以及,abs (xel_xs2) <=thx, 其中,ysl表示第一块纵坐标的起始坐标,ys2表示第二块纵坐标的起始坐标,yel表示第一块纵坐标的结束坐标,ye2表示第二块纵坐标的结束坐标,xel表示第一块横坐标的结束坐标,xs2表示第二块横坐标的起始坐标,thy和thx分别为预设的门限值,abs表示求绝对值。
5.根据权利要求2所述的方法,其特征在于,所述横向划分,包括: 依次增加横向分割线的纵坐标,使得所述横向分割线从上至下依次移动,所述横向分割线是横跨页面的一条线; 在所述横向分割线依次移动过程中,当所述横向分割线没有穿过任何块时,采用所述横向分割线将页面划分为上半部分和下半部分,所述块为经过横向合并后的布局分块; 在所述下半部分,再次依次增加所述横向分割线的纵坐标,并在所述横向分割线没有穿过任何块时,再次采用所述横向分割线进行划分,直至所述横向分割线到达页面最底端,得到横向划分后的分块。
6.根据权利要求2所述的方法,其特征在于,所述纵向划分,包括: 在每个横向划分后得到的分块中,依次增加纵向分割线的横坐标,使得所述纵向分割线从左至右依次移动,所述纵向分割线是纵跨横向划分后得到的分块的一条线; 在所述纵向分割线依次移动过程中,当所述纵向分割线没有穿过任何块时,采用所述纵向分割线将所述横向划分后得到的分块划分为左半部分和右半部分,所述块为经过横向合并和横向划分后的分块; 在右半部分,再次依次增加所述纵向分割线的横坐标,并在所述纵向分割线没有穿过任何块时,再次采用所述纵向分割线进行划分,直至所述纵向分割线到达页面最右端,得到横向划分后的分块。
7.根据权利要求2所述的方法,所述页面分块树从上至下由如下块组成: 横向划分后得到的分块; 纵向划分后得到的分块; 横向合并后得到的分块。
8.根据权利要求7所述的方法,其特征在于,所述获取所述页面分块树中每个分块的重要度,包括: 对于横向划分后得到的分块,设置最上端和最下端的分块的重要度最低,对最上端和最下端之间的中间各分块,按照从上到下的顺序,设置重要度依次递减。
9.根据权利要求7所述的方法,其特征在于,所述获取所述页面分块树中每个分块的重要度,包括: 对于纵向划分后得到的分块,采用如下公式确定各分块的重要度: wl*width_w2*distance, 其中,width表示分块的宽度,distance表示分块中心的横坐标距离页面中轴的距离,wl和w2表示预先设定的系数。
10.一种网页重新布局的装置,其特征在于,包括: 构建模块,用于构建页面分块树; 获取模块,用于获取所述页面分块树中每个分块的重要度; 重排模块,用于根据重要度从高到低的顺序对所述每个分块重新排序,得到重新布局后的网页。
11.根据权利要求10所述的装置,其特征在于,所述构建模块包括: 第一单元,用于从整个页面中展示节点的根节点开始,依次遍历每个子节点,得到初步的布局分块; 第二单元,用于对所述初步的布局分块,按照如下的顺序进行处理,得到处理后的分块,直至处理后的每个分块的粒度在预设的门限值内: 横向合并、横向划分、纵向划分; 第三单元,用于根据所述划分后的分块的嵌套关系,得到页面分块树。
12.根据权利要求11所述的装置,其特征在于,所述第一单元具体用于: 将具有布局特征的节点所对应的分块确定为一个初步的布局分块; 将非连续的不具有布局特征的节点所对应的分块确定为一个初步的布局分块;以及, 将连续不具有布局特征的节点所对应的分块合并为一个初步的布局分块。
13.根据权利要求11所 述的装置,其特征在于,所述第二单元进行的所述横向合并,包 括: 当第一块和第二块满足如下条件时,对所述第一块和所述第二块进行合并处理,所述第一块和所述第二块为所述初步的布局分块中横向相邻的两个布局分块:abs (ysl-ys2) <=thy,且 abs (yel-ye2) <=thy,以及,abs (xel_xs2) <=thx, 其中,ysl表示第一块纵坐标的起始坐标,ys2表示第二块纵坐标的起始坐标,yel表示第一块纵坐标的结束坐标,ye2表示第二块纵坐标的结束坐标,xel表示第一块横坐标的结束坐标,xs2表示第二块横坐标的起始坐标,thy和thx分别为预设的门限值,abs表示求绝对值。
14.根据权利要求11所述的装置,其特征在于,所述第二单元进行的所述横向划分,包括: 依次增加横向分割线的纵坐标,使得所述横向分割线从上至下依次移动,所述横向分割线是横跨页面的一条线; 在所述横向分割线依次移动过程中,当所述横向分割线没有穿过任何块时,采用所述横向分割线将页面划分为上半部分和下半部分,所述块为经过横向合并后的布局分块; 在所述下半部分,再次依次增加所述横向分割线的纵坐标,并在所述横向分割线没有穿过任何块时,再次采用所述横向分割线进行划分,直至所述横向分割线到达页面最底端,得到横向划分后的分块。
15.根据权利要求11所述的装置,其特征在于,所述第二单元进行的所述纵向划分,包括: 在每个横向划分后得到的分块中,依次增加纵向分割线的横坐标,使得所述纵向分割线从左至右依次移动,所述纵向分割线是纵跨横向划分后得到的分块的一条线; 在所述纵向分割线依次移动过程中,当所述纵向分割线没有穿过任何块时,采用所述纵向分割线将所述横向划分后得到的分块划分为左半部分和右半部分,所述块为经过横向合并和横向划分后的分块; 在右半部分,再次依次增加所述纵向分割线的横坐标,并在所述纵向分割线没有穿过任何块时,再次采用所述纵向分割线进行划分,直至所述纵向分割线到达页面最右端,得到横向划分后的分块。
16.根据权利要求11所述的装置,其特征在于,所述第三单元得到的所述页面分块树从上至下由如下块组成: 横向划分后得到的分块; 纵向划分后得到的分块; 横向合并后得到的分块。
17.根据权利要求16所述的装置,其特征在于,所述获取模块具体用于: 对于横向划分后得到的分块,设置最上端和最下端的分块的重要度最低,对最上端和最下端之间的中间各分块,按照从上到下的顺序,设置重要度依次递减。
18.根据权利要求16所述的装置,其特征在于,所述获取模块具体用于: 对于纵向划分后得到的分块,采用如下公式确定各分块的重要度: wl*width_w2*distance, 其中,width表示分块的宽度,distance表示分块中心的横坐标距离页面中轴的距离,wl和w2表示预先设定的系数。
【文档编号】G06F17/30GK103914555SQ201410148919
【公开日】2014年7月9日 申请日期:2014年4月14日 优先权日:2014年4月14日
【发明者】孙帆, 曹一挥 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1