CN106503211B - 面向信息发布类网站的移动版自动生成的方法 - Google Patents
面向信息发布类网站的移动版自动生成的方法 Download PDFInfo
- Publication number
- CN106503211B CN106503211B CN201610953876.7A CN201610953876A CN106503211B CN 106503211 B CN106503211 B CN 106503211B CN 201610953876 A CN201610953876 A CN 201610953876A CN 106503211 B CN106503211 B CN 106503211B
- Authority
- CN
- China
- Prior art keywords
- node
- block
- page
- webpage
- content
- 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.)
- Active
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- 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/951—Indexing; Web crawling techniques
Abstract
本发明涉及一种面向信息发布类网站的移动版自动生成的方法,其包括以下步骤:利用爬虫技术,根据用户指定转化网站的入口地址,爬取该网站中的所有网页;对爬取网站中的所有网页进行分析,针对每一个网页提取导航栏中的数据和网页中的主要内容;将提取的结构化数据经过适配转化为适应移动端页面展示风格的数据。采用本发明技术方案用户只需要给出该网站的入口地址,就能够自动生成适合手机浏览移动版网站。在这个过程中通过网页爬取,数据提取,网页适配完成来完成移动端页面的生成。本发明极大地较少了开发移动版的成本并且减少了移动版网站的开发周期,具有很强的商业价值。
Description
技术领域
本发明涉及大数据挖掘生成领域,具体涉及一种面向信息发布类网站的移动版自动生成的方法。
背景技术
随着3G、4G网络的普及,手机上网日趋便利,智能手机成为互联网用户一种重要的信息获取设备。但是,传统的信息发布类网站通常针对PC终端进行开发,其页面布局和内容字号等网页风格仅适合电脑屏幕,而不适合手机屏幕,通过手机浏览网页用户体验差。其次,与PC端网页不同,因为带宽和流量的限制,移动端的网页无法像PC端那样具有丰富的动态功能和大量的图片,事实上,移动端网站的设计应该尽可能的简洁。于是,大型企业往往针对同一个信息发布类网站,分别开发一个PC版本和一个移动版本,并根据接入终端的类型,提供不同的服务。然而,额外开发一个移动版本费用较高,给小微型企业带来较大的负担。因此,通过较低的成本获得一个基本可用的网站移动版本,是大量小微型企业的迫切需求。
为了满足市场需求本文提出了一种信息发布类网站的移动版自动生成的方法。利用本方法用户只需要输入网站的网址就可以将该站点的所有页面转化为适应移动端的页面大小的网页,并且在PC端页面转化为移动端页面的同时去除页面中与主要内容无关的部分,只展示PC端页面中的主要内容部分。这种方法不仅能够节省网页下载的时间和流量,也方便用户浏览页面。
信息发布类网站的自动生成的方法主要存在两个方面的挑战:一方面,PC端页面展示的内容与移动端页面展示的内容存在差异,移动端页面只需要展示主体内容,所以,如何抽取网站的组织架构和每个网页的主要内容是一个难题。另一方面,PC端复杂的网页页面结构如何适配到移动端相对简单的页面结构。
发明内容
本发明的目的是提供一种面向信息发布类网站的移动版自动生成的方法,用于解决现有技术的缺陷。
为实现上述目的,本发明采用以下技术方案:一种面向信息发布类网站的移动版自动生成的方法,其特征在于,包括以下步骤:步骤S1:利用爬虫技术,根据用户指定转化网站的入口地址,爬取该网站中的所有网页;步骤S2:对爬取网站中的所有网页进行分析,针对每一个网页提取导航栏中的数据和网页中的主要内容;步骤S3:将提取的结构化数据经过适配转化为适应移动端页面展示风格的数据。
与现有技术相比,本发明解决了现有技术中大多数的网站设计都是基于PC端,无法满足移动端浏览的需求。本发明提出一种能够将PC端网站转化为适用移动端用户使用的网站的方法。用户只需要给出该网站的入口地址,就能够自动生成适合手机浏览移动版网站。在这个过程中通过网页爬取,数据提取,网页适配完成来完成移动端页面的生成。本发明极大地较少了开发移动版的成本并且减少了移动版网站的开发周期,具有很强的商业价值。
附图说明
图1为本发明提到的信息发布类网站的移动版自动生成框架示意图。
图2为主要内容块获取方法框架示意图。
图3为本发明一实施例中导航页结构图。
图4为本发明中主要内容块获取方法框架示意图。
图5为本发明一实施例中移动端导航栏模板。
图6本发明具体实施例中网页适配结果示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步解释说明。
本发明提出一种面向信息发布类网站的移动版自动生成的方法,该方法由三个部分组成:统一模型、对单一云资源进行管理的云资源模型以及模型同步中间件,如图1所示。
主要步骤如下:
步骤S1:利用爬虫技术,根据用户指定转化网站的入口地址,爬取该网站中的所有网页;
步骤S2:对爬取网站中的所有网页进行分析,针对每一个网页提取导航栏中的数据和网页中的主要内容;
步骤S3:将提取的结构化数据经过适配转化为适应移动端页面展示风格的数据。
该方法的设计过程中主要存在三个难点:(1)在一个网站中,并不是所有的网页都有导航栏。所以,首先要判断网页中是否存在导航栏。其次,在一个网站的不同的网页中,其导航栏所处的位置和展示的风格可能也各不相同,所以,针对每一个存在导航栏的网页要去判断导航栏所在的位置和范围。因此,导航栏数据的提取是一个技术难点。(2)Web网页的排版格式没有统一的标准,所以从多源、海量、异构、价值密度低的网页中精准提取网页所要表达的内容是极具挑战性的问题。因此,网页内容的提取是一个技术难点。(3)Web网页中PC端的数据展示风格不适用于移动端,所以从网页中抽取出来的数据要经过一定的处理,按照移动端页面风格再次展示出来。如何保证在移动端展示的内容不会发生页面溢出是网页适配的一个技术难点。
信息发布类网站的移动版自动生成实际上是将PC端网站中的网页通过一系列处理转化为适应移动版的网页。在完成从PC端到移动端的转化过程中,需要对网页中的数据进行提取,清洗,去除不适合在移动端展示的数据。所以,网站内容的获取是移动版自动生成的关键技术。
每一个网站都有其固定的组织结构,根据网页的url特征或网页间的链接关系,可以得到网站的组织结构。在用户浏览网页的过程中,网站的组织结构可以引导用户在一定范围内去查找目标网页。我们通过网页爬取获得所有一个网站中的所有网页,但是这些网页都是无序的,如何将爬取的网页按照原有的组织结构重新构建移动版网站是网站自动生成中的重要部分。在一个网站中网页的导航栏可以很好地体现网站的组织结构,所以在面向移动端网站内容获取的过程中需要对页面的导航栏进行抽取,并在移动端重现。
信息发布类网站移动版的自动生成主要是为了解决两个问题:第一,PC端网页其页面布局和内容字号等风格仅适合电脑屏幕,而不适合移动端屏幕。第二,在PC端的网页中通常带有广告,大量的图片和版权声明等,因为移动端的流量限制使得这些内容不应该再次出现在移动版的网页中。所以我们需要从PC端的网页中抽取出主要内容,经过一定的处理,再将主要内容适配到移动端。综上所诉,网站内容的抽取应该包含两个部分:导航栏获取和主要内容块获取。
网页的切割和分块一直是Web页面数据挖掘领域的研究重点。利用准确的切割和分块可以很容易的提取出网页中的内容。网页的切割和分块的研究主要方向有:基于视觉的网页分块,基于节点密度的网页分块和基于html标签及其包含文字信息特性的分块。为了能够方便确定导航栏的HTML源码的边界和网页内容的提取,本文基于html的<div>标签对网页进行切割分块,方便网页内容的提取。
导航栏抽取的难点在于Web网页的HTML源码中不存在统一标签来表示导航栏,而且在每一个网页中导航栏的位置并不固定。为了能够准确提取导航栏,我们需要去寻找导航栏的特征。通过大量的实例分析发现,网页中的导航栏存在三个显著特征:
1)HTML源码中导航栏对应标签的id属性或class属性通常含有字符“nav”;
2)导航栏中的超链接通常是站内链接;
3)导航栏中的超链接对应的文本通常是短文本。
因此本发明步骤S2中的网页提取导航栏中的数据包括以下具体步骤:
步骤S21:每一个Web页面均可以表示成一个DOM树Td,Td是一个有向图<V,E>,其中V为顶点的集合,V={v|v∈html标签集Tag},E为有向边的集合,E={<u,v>|u,v∈V,其中u称为v的父顶点,而v称为u的子顶点,且在html结构上,v对应的标签被u对应的标签收包含};一个页面对应的DOM树中,如果树中节点标签为div,那么我们称这个节点为块节点,对应的HTML源码为块;若b是DOM树Td上的一个块节点且该节点的子孙节点中没有块节点,则称这个节点为叶子块节点,对应的HTML源码为叶子块;设b是DOM树Td上的一个叶子块节点,则将块节点b的导航栏块得分v定义为:v(b)=I1(w1*I2+w2*I3),其中I1,I2,I3分别表示特征1,特征2和特征3的得分,w1,w2分别表示特征2和特征3的权值;
步骤S22:I1表示该块的id属性或class属性对应的值中包含有字符串”nav”,若有返回1,若没有返回0;I2表示该块站内链接占该块链接的比例,I2=w/l,其中w为超链接是站内链接的数目,l是块中超链接数目;I3表示该块中的超链接文本属于短文本的比例,I3=a/c,其中a为超链接文本小于6个字符的个数,c为超链接个数;
步骤S23:设定阈值h,取v(b)得分最高的叶子块节点bi,当v(bi)>h时那么该块节点为导航栏块,若v(bi)<h则认为该页面没有导航栏。
在网站移动版自动生成过程中,需要内容提取的所有页面来自同一个网站,所以选用包装器模型的方式进行页面提取。包装器模型是网页内容提取的一种方法,它的主要思想是从用户输入的多个网页(结构相似的网页)中找出主要内容的抽取规则,再根据该规则进行其他结构相似的页面的内容提取。抽取规则是包装器模型的核心,而寻找抽取规则的过程是包装器模型中的核心算法。图2中训练过程即为寻找包装器模型中抽取规则的过程。
因此本发明中步骤S2中网页提取网页中的主要内容包括以下具体步骤:
步骤S24:提取网页中每一个块节点的路径作为网页的结构特征;
步骤S25:利用网页的结构特征计算网页之间的相似度,通过网页之间的相似度进行聚类;
步骤S26:进行网页筛选,确定聚类结果中每一类网页的类型;
步骤S27:对网页中的节点进行节点密度计算,提取网页中每一个块的特征;
步骤S28:针对同一类网页,对网页中块特征的判断得出该类网页的抽取规则;
步骤S29:利用抽取规则从网页中抽取内容块,将抽取规则表示为一个六元组r=<f1,f2,f3,f4,f5,f6>,其中f1表示该类的标记;f2表示该类的网页特征,是一个块节点的路径集合,因为同一类网页的网页结构相似,所以用该类网页中的一个网页结构特征来表示该类网页特征;f3表示该类网页主要内容块的抽取规则,本文用内容块在DOM树中的路径来表示抽取规则;f4表示该类网页的内容对应的标题的抽取规则,本文用内容块在DOM树中的路径来表示抽取规则;f5表示该类网页中所有网页的url集合;f6表示该类网页的类型。
利用网页聚类来进行网页数据提取是网页数据抽取方法中的一种重要方法。在网页聚类的过程中,网页特征提取是网页聚类算法的核心。传统的方法是以网页的DOM树结构特征作为网页的特征,基于DOM树的编辑距离来计算网页间的相似度,但这种方法耗时太长。在新闻类网站中可能包含有成百上千的网页,通过树的编辑距离方法进行计算在实际应用中不适合。为了快速计算得到两个网页结构相似度,IBM提出了基于节点路径的对比的方法,将DOM树中各个节点的路径作为网页的特征,通过对比一个页面中的某条节点路径在另一个页面中出现的比例作为网页的相似度,这种方法处理速度快,较简单。为了提高准确率,我们在此基础上提出一种基于块的页面相似度计算。大量实例研究发现:网页中往往由块的位置来确定网页的结构,相同类型的数据往往保存在同一块中:如版权声明块,内容块。因此,我们可以不用去计算那些非块节点的节点路径。因此本发明中,步骤S25包括以下步骤:两个页面的相似度函数为:
其中di为第i个页面的DOM树文档,dj第j个页面的DOM树文档,pik第i个页面的第k个块的路径,Pj第j个页面中的块路径集合Pj={pj1,pj2,pj3,...,pjm},m页面中块的个数,函数exist(pik,Pj)表示第i个页面的第k个块对应的路径在第j个页面的块路径集合中是否存在,若存在则返回1,不存在则返回0;设置阈值ε,计算每一个页面与该页面的相似度μ,当μ>ε时,说明两个页面属于同一类,那么将页面加入该类,最终得到一个类集合R,类集合中的每一个类表示一个六元组的抽取规则r=<f1,f2,f3,f4,f5,f6>。
经过网页聚类之后,我们可以得到结构不同的多类网页集合。针对同一类网页需要得到其内容块的抽取规则。本发明利用基于统计的网页正文数据提取方法来提取出抽取规则。为了方便算法表示本文给出如下定义:
定义1.设n为DOM树Td中的一个节点,则n的节点平均链接长度定义为:
其中Tln为节点n代表的子树中,所有链接所包含的文本数(包含在<a></a>标签之间的文本数);lNn为节点n中所包含的链接数。Plinkt反映了节点中链接的平均长度,Plinkt越大节点中链接长度越长。
定义2.设n为DOM树Td中的一个节点,则n的节点链接文本密度定义为:
其中Tln为节点n代表的子树中,所有链接所包含的文本数(包含在<a></a>标签之间的文本数);lT为Td代表的整个文档中的文本数(包含链接文本)。Pltext反映了在全局页面中,链接文本内容在某个节点的相对集中程度,Pltext越大节点中链接文本越密集。
给出了2个链接密度度量后,可以定义节点的链接密度特征值L(p):
L(p)=p1*p2
其中p代表该块节点对应的路径,p1,p2分别代表节点的密度特征,取p1=Plinkt,p2=Pltext,利用H(p)对该节点进行评估。
定义3.设n为DOM树Td中的一个节点,则n的文本密度定义为:
其中Tn为节点n的纯文本数(不含有链接文本),T为Td代表的整个文档中的纯文本数(不包含链接文本)。
Ptext反映了在全局页面中,文本内容在某个节点的相对集中程度。通过观察和实验,我们发现Ptext越大,往往意味着该节点越有可能包含待发现的主要文本块。
定义4.设n为DOM树Td中的一个节点,则n的链接密度定义为:
其中lNn为节点n中所包含的链接数,lN为Td代表的整个文档中所包含的链接数。
Plink反映了在全局页面中,链接在节点的相对集中程度。通过观察和试验,我们发现Plink越大,往往意味着该节点可能包含了广告,推荐链接等无需在移动端页面展示的内容的概率越大。
定义5.设n为DOM树Td中的一个节点,则n的节点文本密度定义为:
其中Tn为节点n的纯文本数(不含链接文本),lTn为节点n的文本数(包含链接文本)。
Ptextl反映了在某个节点的纯文本集中程度。通过观察和实验,我们发现Ptextl越大,往往意味着该节点越有可能包含待发现的主要文本块。引入Ptextl指标的目的在于辅助Ptext进行判断,因为Ptext是在全局页面中进行判断,只能确定该节点包含有主要文本块,无法确定该节点是否包含除主要文本块之外的其他内容。
给出了3个密度度量后,可以定义节点的综合密度特征值H(p)
H(p)=λ*p3*p4*p5
其中p代表该块节点对应的路径,p3、p4、p5分别代表节点的密度特征,取p3=ptext,p4=1-plink,p5=ptextl,利用H(p)对该节点进行评估。
在信息发布类网站中主要存在两种类型的页面,导航页和内容页。网站的结构通常呈树形结构,以导航页中首页为根节点,其余导航页为中间节点,而内容页为叶子节点。为了能够准确提取网页中的内容,需要对聚类后每一类网页进行类别确定,根据页面特征可分为四类。
网页分类包括以下步骤:
步骤S261:循环遍历网页聚类结果集合R;
步骤S262:判断该类网页url集合ri.f5的大小,若size(ri.f5)=1,则令ri.f6=1;
步骤S263:循环遍历该类网页url集合ri.f5中的每个页面,计算每棵DOM树全局的Pltext,并求平均值,若avg(Pltext)<0.78时,令ri.f6=4;
步骤S264:取该类网页url集合ri.f5中的第一个网页,提取网页对应DOM树中的叶子块节点,计算每个叶子块节点的L(p),若存在L(pi)>0.26,令λ=0.1,则令ri.f3=pi,ri.f6=3;若不存在则令ri.f6=2;
ri.f6=1表示该网页为导航页首页;ri.f6=2表示该网页为由一系列的块组成的导航页,ri.f6=3表示该网页为由一个块组成的导航页;ri.f6=4表示网页为内容页。导航页中首页的结构相对独立,在网页聚类结果中导航页首页往往不存在相同结构的页面,所以在步骤S262中我们将聚类结果中只存在单个页面的类确定其类型为导航页首页,这是第一类。在算法1的步骤3中通过计算全局的链接文本密度来确定该网页是否为内容页,当avg(Pltext)<0.78时,页面为内容页,这是第四类。在导航页中除了首页还有处于中间节点的导航页,这种导航页主要分为两类如图3所示,左图中导航页的内容是由一系列的块组成的,而右图中导航页的内容只分布在同一个块中。在步骤S264中通过计算网页中每一个叶子块的L(p)值来确定其类别,当存在L(pi)>0.26时,说明存在一个叶子块节点来展示网页的主要内容,将块路径p作为提取规则存储,这是第三类。针对第一和第二类导航页直接进行内容块的提取和适配,不进行抽取规则的记录。
对内容页的主要内容块路径抽取,定义了综合密度特征值对页面中的块进行判断,块的综合密度特征值越高该块越有可能成为主要内容块。我们认为在同一类具有相同结构的网页中主要内容块的位置是相同的,所以可以根据同一类网页中多个网页的主要内容块的筛选来确定本类网页内容块的位置。为了方便表示块和块节点对应的综合密度特征值,本文定义了二元组b=<p,h>,其中p表示该块对应的路径,h表示该块的综合密度特征值。在一类网页中我们最多选取10个网页对其进行块节点密度特征的计算。内容页的主要内容块路径抽取包括以下具体步骤:
步骤S281:将网页转化为DOM树结构,提取网页中块节点;
步骤S282:对每个块节点计算其二元组x=<p,h>,其中p表示该块对应的路径,h表示该块的综合密度特征值;如果该路径p对应的二元组已经存在,则将h叠加;
步骤S283:循环将i个网页安装步骤S281、S282进行处理,1<x<10;将h最高的p输出;
步骤S284:从标准的网页中网页标题包提取内容标题;
步骤S285:当用户通过移动设备请求获取某个页面时,后台服务器会根据url去下载PC端原页面的HTML代码,然后根据url查找对应类别,若存在相应的类,则利用规则库提取内容,若不存在相应的类,则提取网页结构特征与各类的结构特征进行对比,确定类别并提取数据。
在一个信息发布类网站的网页中,利用节点文本密度特征可以得到主要内容块,但在主要内容块中往往不包含有内容标题,所以在同一类网页中还要提取内容标题的路径。在网页的HTML源码中网页标题保存在<title></title>标签中,在标准的网页中网页标题包含有内容标题,所以经过简单的处理可以将网页标题转化为内容标题。
通过一系列训练过程后,可以从一个网站中定义出多个抽取规则。如图4,当用户通过移动设备请求获取某个页面时,后台服务器会根据url去下载PC端原页面的HTML代码,然后根据url查找对应类别,若存在相应的类,则利用规则库提取内容,若不存在相应的类,则提取网页结构特征与各类的结构特征进行对比,确定类别并提取数据。
移动端的网页适配主要由两个部分组成:导航栏的适配和网页内容适配。导航栏的适配是将从网页的导航栏中抽取出来的数据插入到特定的移动端导航栏模板来完成适配。网页内容适配是将PC端的内容块展示风格转变成到移动端的展示风格,因为都遵循统一的Web界面标准,所以不需要对显示的节点标签进行更换,只需要根据用户的设定修改其CSS文件中定义的相对应标签的显示风格。将适配完成的内容块代码利用js加载到页面中。
移动端网页组织结构的适配,针对每一个网页进行导航栏块的提取。如图5所示,第一部分为网页中的导航栏。然后,通过导航栏块的获取可以得到第二部分,将提取的导航栏块以DOM树形式展现。最后,解析DOM树,从DOM树中提取所需的信息并转换成能够适应移动端类型的导航栏,图5中第三部分的按从上到下,第一和第三方框部分为固定模板,第二方框部分为动态添加的可变模板,之后通过js将生成模板导入到HTML中。
移动端网页内容的适配移动端网页内容的适配主要分为两种,导航页适配和内容页适配。经过主要内容块获取的处理后,内容页的适配转化对标题和内容块的适配。与内容页相比导航页的结构更加复杂,适配难度更大。本文利用导航页中块的特征进行导航页内容的提取,这种方法能够有效地去除页面中的噪声,但也会遗漏在导航页中的某些内容块。要使PC端的网页适配到移动端网页的页面,就必须对网页进行切割,在将切割后的块分解成各个元素在移动端页面展示,这样才能保证页面在移动端不会发生溢出。导航页的切割方法依然是基于块节点进行切割,将导航页切割为块集合,然后从块集合中选出含有用户感兴趣的链接的块,再进行处理和适配。然而,这种方法存在两个难点:(1)在块集合中大部分的块是相互嵌套的,如果选择的块相互嵌套就会导致在移动端的内容出现重复现象。所以,如何保证所选的块相互独立是一个难点。(2)导航页中的块结构和内容各异,如何表示块的特征,使得可以通过该特征筛选出含有用户感兴趣的链接的块。
基于以上的两个难点,本文提出了表示导航页中块的特征方法。经过大量的实例分析研究发现,导航页中包含用户感兴趣的链接块通常结构相似并且数目较多,如图3所示,红色方框表示导航页中内容块。因此,我们将导航中块的特征抽象为一个五元组fn=<k1,k2,k3,k4,k5>,其中k1表示该块的路径,k2表示该块的路径长度,k3表示块的第一个叶子节点对应的路径,k4表示块的最后一个叶子节点对应的路径,k5表示节点中与该块结构相同的块的个数。根据导航页块的特征可以得到导航页中的内容块,其算法如下
输入:导航页对应的DOM树Ta
输出:内容块对应的路径集合D={p1,p2,…,pn}
Begin
1.遍历DOM树Ta,得到所有块节点集合B
2.遍历块节点集合B得到每一块的特征fn=<k1,k2,k3,k4>
3.根据fn.k2,将节点路径长度(节点在DOM树中层次)相同的块分为一类,保证选取的节点互相不嵌套
4.在同一类中利用fn.k3和fn.k4来判断哪些块结构相同,fn.k5记录相同的个数。
5.取fn.k5最大的块作为候选的内容块。多个候选块可能存在分布在不同的类中,即它们的fn.k2各不相同
6.取fn.k2最小的候选块集合D作为该导航页的内容块
关于导航页内容块的适配和内容页中内容块适配的方法一致。
内容页适配根据规则库中的内容块和标题的抽取路径,可以从网页中获取标题和主要内容块。在移动端的页面中按照导航栏,标题,内容,至上而下顺序进行展示。因为内容标题的展示比较简单这里就不细讲,用户可以通过修改CSS配置文件来修改标题的颜色,大小等展示风格。
内容块的适配包括:内容页中主要内容块的适配和导航页中内容块的适配。为了保证内容块能够以合适的大小在移动端展示,就需要对块进行切割,而只有最细粒度的切割才能保证不发生溢出。在信息发布类网站中网页的内容是由三种最基本的元素构成,分别是图片,超链接和文本。所以,只要将内容块切分成最基本元素就可以保证在适配过程中不发生溢出。这种方法带来的挑战主要来自两个方面:1.三种最基本元素之间并不是相互独立的,文本中可能包含超链接,也可能包含图片等。2.一些特殊的格式是无法拆分的,例如:Table。
在三种基本元素中图片在DOM树中处于叶子节点,而文本和超链接中可能包含子孙节点。为了能够准确地描述内容块的切割过程,本文定义内容块切割的最小元素为基本节点。
设x为内容块对应DOM树Td中的一个节点,若节点n满足以下两个条件之一,
节点n对应的DOM树中节点标签为<table>,<a>或<img>;
节点n的基本文本数(不包含子孙节点的文本)大于0。
则称该节点为基本节点。
本系统采用前序深度遍历的方式遍历内容块对应的DOM树,提取DOM树中的基本节点。基本节点的摆放次序决定了移动端网页的美观程度。由于缺少PC端网页的CSS和js文件,所以无法重现原网页的排版格式。本文默认的排版格式是按基本节点的顺序垂直排列。为了使适配更加合理,本文添加了信息展示规则:遍历该内容块中的基本节点,如果在基本节点出现连续短文本(如:字符数小于8)的链接节点或文本节点则将节点短文本节点横向排列,中间以空格隔开。因为<table>标签对应的节点有其国定的格式,所以块的切割时不能对<table>标签对应的节点进行切割。<table>标签节点为一个基本节点,直接在移动端页面中展示。
在本发明一具体实例研究
为了验证本文所提出的一系列方法,我们以**科技板块网页为例,将其中的网页转化为适应移动端的页面。实验中我们爬取了**科技板块的326个页面做为实验数据,针对每一个网页实施导航栏获取和内容块获取。
网页导航栏获取
在用户浏览网页的过程中,网站的组织结构可以引导用户在一定范围内去查找目标网页。为了获取网站的组织结构,需要去提取网页中的导航栏。本节以网易科技板块的首页为例,去获取页面中的导航栏模块。在3.1节中本文定义了导航栏的评分规则v(b),试验中,取w1=5,w2=5,阈值h=0.87去计算每一个块节点的v(b)。针对网易科技板块的首页对应的DOM树去计算DOM树中的块节点,结果得到了14块v(b)>0的候选导航栏块,其中得分最高的块b1,v(b1)=9.23>h所以该块为导航栏块,提取导航块中的菜单项注入到bootstrap导航栏的模板中,转化为适配移动端的导航栏。
网页主要内容获取
本节将展示从网易科技板块的网页中提取内容块的过程。在实施网页内容块提取之前需要经过训练过程得出内容块的抽取规则,其过程如图2所示。这里以网页w为例说明训练过程,其对应的url为http://tech.163.com/16/1013/08/C38D4A0L00097U7R.html。
为了能够对该网站中所有网页进行聚类,首先需要从网页中提取网页结构特征。我们遍历网页w对应的DOM树,从DOM树中提取218个块,并将218个块的路径集合作为该网页的特征。关于路径集合的提取方法,本文采用自上而下广度优先遍历的方式,搜索整颗DOM树,对每一个节点添加path属性用来记录该节点的路径,最终完成所有节点的路径记录,并从中提取块节点的路径构成路径集合。
完成路径集合的提取后,根据路径集合计算网页之间的相似度。内容页之间的相似度基本稳定在98%,而导航页与内容页之间的相似度基本为0,通过简单的分层聚类可以将结构相似的网页划为一类,聚类结果如表1所示。不同类型的网页有不同的内容块提取方法,所以需要对表中的每个类别进行确定。在实验中,通过算法1,得到类别1和类别2均属于内容页,其余类别均属于导航页。
在类别1和类别2中我们根据算法2来进行内容块的提取,提取过程如下,计算页面中每一个块的二元组b=<p,h>,设其路径为“body0/div3/div1/div2/div1”,根据这个路径我们可以提取出内容块。
表1分类实验结果统计
网页适配
在获取内容块后对内容块进行适配,本节以科技板块的首页和内容页w为例来说明适配过程。针对科技板块的首页通过算法3我们可以得到一系列的内容块,遍历内容块提取块中的基本节点,再将这些基本节点嵌入div模板中完成网页的适配。为了保证在移动端页面不会发生溢出,在模板中本文默认将基本元素垂直排列,所以图片和文字不在是原有的左右结构而是转化为上下排列。而在扫描基本元素时发现一系列短文本链接,如图6中的“互联网”“胡润”时将其横向排列。对于内容页w在取得内容块后提取块中的基本节点,按顺序排列就可以得到移动版页面。
综上本发明解决了现有技术中大多数的网站设计都是基于PC端,无法满足移动端浏览的需求。本发明提出一种能够将PC端网站转化为适用移动端用户使用的网站的方法。用户只需要给出该网站的入口地址,就能够自动生成适合手机浏览移动版网站。在这个过程中通过网页爬取,数据提取,网页适配完成来完成移动端页面的生成。本发明极大地较少了开发移动版的成本并且减少了移动版网站的开发周期,具有很强的商业价值。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种面向信息发布类网站的移动版自动生成的方法,其特征在于,包括以下步骤:
步骤S1:利用爬虫技术,根据用户指定转化网站的入口地址,爬取该网站中的所有网页;
步骤S2:对爬取网站中的所有网页进行分析,针对每一个网页提取导航栏中的数据和网页中的主要内容;
步骤S3:将提取的结构化数据经过适配转化为适应移动端页面展示风格的数据;步骤S2中网页提取导航栏中的数据包括以下具体步骤:
步骤S21:每一个Web页面均可以表示成一个DOM树Td,Td是一个有向图<V,E>,其中V为顶点的集合,V={v|v∈html标签集Tag},E为有向边的集合,E={<u,v>|u,v∈V,其中u称为v的父顶点,而v称为u的子顶点,且在html结构上,v对应的标签被u对应的标签收包含};一个页面对应的DOM树中,如果树中节点标签为div,那么我们称这个节点为块节点,对应的HTML源码为块;若b是DOM树Td上的一个块节点且该节点的子孙节点中没有块节点,则称这个节点为叶子块节点,对应的HTML源码为叶子块;设b是DOM树Td上的一个叶子块节点,则将块节点b的导航栏块得分v定义为:v(b)=I1(w1*I2+w2*I3),w1,w2分别表示特征2和特征3的权值;
步骤S22:I1表示该块的id属性或class属性对应的值中包含有字符串“nav”,若有返回1,若没有返回0;I2表示该块站内链接占该块链接的比例,I2=l/(w+1),其中w为超链接是站内链接的数目,l是块中超链接数目;I3表示该块中的超链接文本属于短文本的比例,I3=a/c,其中a为超链接文本小于6个字符的个数,c为超链接个数;
步骤S23:设定阈值h,取v(b)得分最高的叶子块节点bi,当v(bi)>h时那么该块节点为导航栏块,若v(bi)<h则认为该页面没有导航栏;
步骤S24:提取网页中每一个块节点的路径作为网页的结构特征;
步骤S25:利用网页的结构特征计算网页之间的相似度,通过网页之间的相似度进行聚类;
步骤S26:进行网页筛选,确定聚类结果中每一类网页的类型;
步骤S27:对网页中的节点进行节点密度计算,提取网页中每一个块的特征;
步骤S28:针对同一类网页,对网页中块特征的判断得出该类网页的抽取规则;
步骤S29:利用抽取规则从网页中抽取内容块,将抽取规则表示为一个六元组r=<f1,f2,f3,f4,f5,f6>,其中f1表示该类的标记;f2表示该类的网页特征,是一个块节点的路径集合,f3表示该类网页主要内容块的抽取规则,f4表示该类网页的内容对应的标题的抽取规则,f5表示该类网页中所有网页的url集合;f6表示该类网页的类型。
2.根据权利要求1所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:步骤S25包括以下步骤:
两个页面的相似度函数为:
其中di为第i个页面的DOM树文档,dj第j个页面的DOM树文档,pik第i个页面的第k个块的路径,Pj第j个页面中的块路径集合Pj={pj1,pj2,pj3,...,pjm},m页面中块的个数,函数exist(pik,Pj)表示第i个页面的第k个块对应的路径在第j个页面的块路径集合中是否存在,若存在则返回1,不存在则返回0;设置阈值ε,计算每一个页面与该页面的相似度μ,当μ>ε时,说明两个页面属于同一类,那么将页面加入该类,最终得到一个类集合R={r1,r2,…,rn},类集合中的每一个类表示一个六元组的抽取规则r=<f1,f2,f3,f4,f5,f6>。
3.根据权利要求2所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:步骤S27包括以下步骤:设n为DOM树Td中的一个节点,则n的节点平均链接长度定义为:
其中Tln为节点n代表的子树中所有链接所包含的文本数;lNn为节点n中所包含的链接数,Plinkt反映了节点中链接的平均长度,Plinkt越大节点中链接长度越长;设n为DOM树Td中的一个节点,则n的节点链接文本密度定义为:其中Tln为节点n代表的子树中定义节点的链接密度特征值L(p):L(p)=λ*p1*p2,其中p代表该块节点对应的路径,p1、p2分别代表节点的密度特征,取p1=Plinkt,p2=Pltext;设n为DOM树Td中的一个节点,则n的文本密度定义为:其中Tn为节点n的纯文本数,T为Td代表的整个文档中的纯文本数;Ptext反映了在全局页面中,文本内容在某个节点的相对集中程度,Ptext越大,该节点包含待发现的主要文本块概率越大;
设n为DOM树Td中的一个节点,则n的链接密度定义为:其中lN为Td代表的整个文档中所包含的链接数;Plink反映了在全局页面中,链接在节点的相对集中程度,Plink越大,该节点包含广告的概率越大;
设n为DOM树Td中的一个节点,则n的节点文本密度定义为:其中Tn为节点n的纯文本数,lTn为节点n的文本数;Ptextl反映了在某个节点的纯文本集中程度,发现Ptextl越大,该节点包含待发现的主要文本块的概率越大;引入Ptextl指标用于辅助Ptext进行判断;
定义节点的综合密度特征值H(p)
H(p)=λ*p3*p4*p5
其中p代表该块节点对应的路径,p3、p4、p5分别代表节点的密度特征,取p3=ptext,p4=1-plink,p5=ptextl,利用H(p)对该节点进行评估。
4.根据权利要求3所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:步骤S26包括以下步骤:
步骤S261:循环遍历网页聚类结果集合R;
步骤S262:判断该类网页url集合ri.f5的大小,若size(ri.f5)=1,则令ri.f6=1;
步骤S263:循环遍历该类网页url集合ri.f5中的每个页面,计算每棵DOM树全局的Pltext,并求平均值,若avg(Pltext)<0.78时,令ri.f6=4;
步骤S264:取该类网页url集合ri.f5中的第一个网页,提取网页对应DOM树中的叶子块节点,计算每个叶子块节点的L(p),若存在L(pi)>0.26,令λ=0.1,令ri.f3=pi,ri.f6=3;若不存在则令ri.f6=2;
ri.f6=1表示该网页为导航页首页;ri.f6=2表示该网页为由一系列的块组成的导航页,ri.f6=3表示该网页为由一个块组成的导航页;ri.f6=4表示网页为内容页。
5.根据权利要求1所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:步骤S28包括以下具体步骤:
步骤S281:将网页转化为DOM树结构,提取网页中块节点;
步骤S282:对每个块节点计算其二元组x=<p,h>,其中p表示该块对应的路径,h表示该块的综合密度特征值;如果该路径p对应的二元组已经存在,则将h叠加;
步骤S283:循环将i个网页安装步骤S281、S282进行处理,1<x<10;将h最高的p输出;
步骤S284:从标准的网页中网页标题包提取内容标题;
步骤S285:当用户通过移动设备请求获取某个页面时,后台服务器会根据url去下载PC端原页面的HTML代码,然后根据url查找对应类别,若存在相应的类,则利用规则库提取内容,若不存在相应的类,则提取网页结构特征与各类的结构特征进行对比,确定类别并提取数据。
6.根据权利要求1所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:步骤S3包括移动端网页组织结构的适配和移动端网页内容的适配移动端网页组织结构的适配包括:针对每一个网页进行导航栏块的提取,将提取的导航栏块以DOM树形式展现;解析DOM树,从DOM树中提取所需的信息并转换成适应移动端类型的导航栏,并通过js文件将生成模板导入到HTML中;移动端网页内容的适配包括导航页适配和内容页适配。
7.根据权利要求6所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:导航页适配包括以下步骤:将导航页中块的特征抽象为一个五元组fn=<k1,k2,k3,k4,k5>,其中k1表示该块的路径,k2表示该块的路径长度,k3表示块的第一个叶子节点对应的路径,k4表示块的最后一个叶子节点对应的路径,k5表示节点中与该块结构相同的块的个数;遍历DOM树Ta,得到所有块节点集合B;遍历块节点集合B得到每一块的特征fn=<k1,k2,k3,k4>;根据fn.k2,将节点路径长度相同的块分为一类,保证选取的节点互相不嵌套;
在同一类中利用fn.k3和fn.k4来判断哪些块结构相同,fn.k5记录相同的个数;取fn.k5最大的块作为候选的内容块;取fn.k2最小的候选块集合D,D={p1,p2,…,pn},作为该导航页的内容块。
8.根据权利要求6所述的面向信息发布类网站的移动版自动生成的方法,其特征在于:内容页适配:设n1为内容块对应DOM树Td中的一个节点,若节点n1满足以下两个条件之一,
1.节点n1对应的DOM树中节点标签为<table>,<a>或<img>;
2.节点n1的基本文本数大于0,所述节点n1不包含子孙节点的文本;
则称该节点为基本节点;
采用前序深度遍历的方式遍历内容块对应的DOM树,提取DOM树中的基本节点,遍历该内容块中的基本节点,如果在基本节点出现连续短文本的链接节点或文本节点则将节点短文本节点横向排列,中间以空格隔开;因为<table>标签对应的节点有其固定的格式,所以块的切割时不能对<table>标签对应的节点进行切割,将<table>标签节点为一个基本节点,直接在移动端页面中展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610953876.7A CN106503211B (zh) | 2016-11-03 | 2016-11-03 | 面向信息发布类网站的移动版自动生成的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610953876.7A CN106503211B (zh) | 2016-11-03 | 2016-11-03 | 面向信息发布类网站的移动版自动生成的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106503211A CN106503211A (zh) | 2017-03-15 |
CN106503211B true CN106503211B (zh) | 2019-12-17 |
Family
ID=58322371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610953876.7A Active CN106503211B (zh) | 2016-11-03 | 2016-11-03 | 面向信息发布类网站的移动版自动生成的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503211B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391675B (zh) * | 2017-07-21 | 2021-03-09 | 百度在线网络技术(北京)有限公司 | 用于生成结构化信息的方法和装置 |
CN108763591B (zh) * | 2018-06-21 | 2021-01-08 | 湖南星汉数智科技有限公司 | 一种网页正文提取方法、装置、计算机装置及计算机可读存储介质 |
CN109710224B (zh) * | 2019-01-17 | 2022-06-14 | 宜创(北京)科技有限公司 | 页面处理方法、装置、设备及存储介质 |
CN110134391A (zh) * | 2019-04-28 | 2019-08-16 | 苏宁易购集团股份有限公司 | 一种用于移动化页面的适配方法及装置 |
CN110673846B (zh) * | 2019-09-04 | 2023-02-17 | 北京泰和纬度网络技术有限公司 | 一种用于网页分块的方法及系统 |
CN111104636B (zh) * | 2019-12-30 | 2023-03-24 | 上海海事大学 | 一种基于多视角学习的网页船期数据抽取方法 |
CN111221530B (zh) * | 2020-01-08 | 2023-11-14 | 北京市科学技术情报研究所 | 移动端Web应用界面构建方法、Web应用界面及其操作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317176A (zh) * | 2005-11-29 | 2008-12-03 | 泰普有限公司 | 利用后台处理在移动设备浏览器上显示搜索结果 |
CN102184189A (zh) * | 2011-04-18 | 2011-09-14 | 北京理工大学 | 基于dom节点文本密度的网页核心块确定方法 |
CN102355488A (zh) * | 2011-08-15 | 2012-02-15 | 北京星网锐捷网络技术有限公司 | 爬虫种子获取方法与设备及爬虫爬取方法与设备 |
CN102779170A (zh) * | 2012-06-25 | 2012-11-14 | 北京奇虎科技有限公司 | 一种识别网页正文楼层的系统和方法 |
CN105022803A (zh) * | 2015-07-01 | 2015-11-04 | 广州市万隆证券咨询顾问有限公司 | 一种提取网页正文内容的方法及系统 |
-
2016
- 2016-11-03 CN CN201610953876.7A patent/CN106503211B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317176A (zh) * | 2005-11-29 | 2008-12-03 | 泰普有限公司 | 利用后台处理在移动设备浏览器上显示搜索结果 |
CN102184189A (zh) * | 2011-04-18 | 2011-09-14 | 北京理工大学 | 基于dom节点文本密度的网页核心块确定方法 |
CN102355488A (zh) * | 2011-08-15 | 2012-02-15 | 北京星网锐捷网络技术有限公司 | 爬虫种子获取方法与设备及爬虫爬取方法与设备 |
CN102779170A (zh) * | 2012-06-25 | 2012-11-14 | 北京奇虎科技有限公司 | 一种识别网页正文楼层的系统和方法 |
CN105022803A (zh) * | 2015-07-01 | 2015-11-04 | 广州市万隆证券咨询顾问有限公司 | 一种提取网页正文内容的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106503211A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503211B (zh) | 面向信息发布类网站的移动版自动生成的方法 | |
US8051371B2 (en) | Document analysis system and document adaptation system | |
US7877677B2 (en) | Methods and apparatus for enabling use of web content on various types of devices | |
CN103955529B (zh) | 一种互联网信息搜索聚合呈现方法 | |
CN102156737B (zh) | 一种中文网页主题内容的提取方法 | |
US20090248707A1 (en) | Site-specific information-type detection methods and systems | |
US20040103371A1 (en) | Small form factor web browsing | |
US20130204867A1 (en) | Selection of Main Content in Web Pages | |
CN108090104B (zh) | 用于获取网页信息的方法和装置 | |
US20120102390A1 (en) | Method and apparatus for generating widget | |
CN103838862B (zh) | 一种视频搜索的方法、装置及终端 | |
CN103166981A (zh) | 一种无线网页转码方法及装置 | |
Ahmadi et al. | User-centric adaptation of Web information for small screens | |
JP2005063432A (ja) | マルチメディアオブジェクト検索装置およびマルチメディアオブジェクト検索方法 | |
CN109657220A (zh) | Pdf文档的在线编辑方法、装置及电子设备 | |
Uzun et al. | An effective and efficient Web content extractor for optimizing the crawling process | |
Xu et al. | Identifying semantic blocks in Web pages using Gestalt laws of grouping | |
JP2008226235A (ja) | 情報フィードバックシステム、情報フィードバック方法、情報管理サーバ、情報管理方法及びプログラム | |
CN105740355A (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
Yu et al. | Web content information extraction based on DOM tree and statistical information | |
CN105243120A (zh) | 一种检索方法及装置 | |
JP5462591B2 (ja) | 特有コンテンツ判定装置、特有コンテンツ判定方法、特有コンテンツ判定プログラム及び関連コンテンツ挿入装置 | |
CN110083760B (zh) | 一种基于可视块的多记录型动态网页信息提取方法 | |
US10198408B1 (en) | System and method for converting and importing web site content | |
Gali et al. | Extracting representative image from web page |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |