对网页切片算法问题的研究
来源:双金属温度计 发布时间:2008-06-05 12:41:00
最近在研究网页的切片算法,很可能很多人不知道什么是切片算法,其实这是一种面向搜索引擎的网页分块、切片的原理,目前随着工作的深入,逐渐碰到了各种问题,具体有以下几个方面。
网页切片的粒度问题:
网页切片算法的目的不是精确找到所需要的内容,而是识别划分网页的各种功能区域,导航区,链接区,内容,页脚区和广告区等。
网页切片的网页对象:
互连网纱功能的网页大概有2种类型,目录型和内容型;随着搜索引擎的发展,网站结构逐渐向扁平化的方向发展,对此也做出了数据验证,而且随着显示器分辨率的不断提高,内容和目录结合型的网页呈增加趋势。
网页切片算法的对象应该是针对:内容型和内容目录混合型。对不同网页,应该有个识别算法,应该包括哪些标准?
网页内容区最大范围识别:
从切片的粒度可以看出,应该把内容区作为一个部分单独切出来。根据一般的网页设计规律,一般有2种容纳内容区的方式:1、包含型(如blog ) 2、并列型(如bbs帖子)。
如果处理分页的内容型网页:
现在大多数网站为了改善用户体验和增加页面展示次数的需要,对网页做了分页处理,这部分需要设别出来。无意间看到了:VIPS:基于视觉的Web页面分页算法 ,从理论上证明了这种方法的可行性。可是实现起来有很多障碍,正如这位所说的:我那天用浮动的 用绝对位置定位代替相对定位,并且在客户端的JavaScript中动态排列。客户端的对象用脚本动态生成插入。这样的算法太依赖于具体实现了,很难有好的解决办法。况且,现在依赖客户端脚本展现动态表现力慢慢开始流行,这个算法很难适应未来的潮流。
就拿最简单的,我有一个类似于OutLook工具条的页面风格,都是脚本生成的,视觉分析只能落脚到视觉上,只能对页面的静态画面作分析才能得到正确的条块分割,分割条块是容易的简单算法就能做到,但是要把这些内容归结到分割到的条块是难的。好的办法只有一个,模拟鼠标击键,击键处的对象返回响应,这在IE能够实现的。这样才能取得分割好条块后的对象归属。
视觉依靠画面分割条块,很简单,对空白进行膨胀-缩小算法,这样留白就能逐渐清晰出来,文字就模糊了。然后作模糊处理,然后用一个亮度阈值把图片转换成二值图,然后作一个矢量化处理,留下线条。归结到90度和0度上去,得到一个条块分割的矢量图。然后,每一块中按照密度用鼠标点击模拟获得对象!这样就可以完成了条块归纳了。
对内容区的分析是个难点,鉴于我自己的需要,只要找到最大的内容区就可以了。
这段时间对算法的一个体会就是,算法就是解决特定问题的方法。教科书上的算法大都是最一般性,常用性的方法的说明。
最后,套句俗话,能解决实际问题的方法就是好方法。但能把我们解决的问题用数学模型表达出来仍是一个不断提高算法水平的基本要求。
猜你喜欢
- 前言版本:windows 10.0python 3.8问题简述近期看到这么一个问题,有把值分别赋值给不同的变量,想在比较大小后得到变量的名称
- 整本书围绕着一个叫做“CSS禅意花园”的网站展开,其实N久之前我在一份外国的关于CSS的在线教程上看到了这个网站的链接,可惜进去之后发现内容
- JDBC之C3P0数据库连接池,供大家参考,具体内容如下1 首先在src中创建c3p0-config.xml 配置文件,文件中内容如下(首先
- 一、Tkinter的介绍和简单教程Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建
- 从微信小程序官方发布的公告中我们可获知:小程序体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需
- 我们先看一个简单的例子:<input type="text" onblur="alert(this.va
- 代码如下:--建立数据表createtable TestData ( ID int identity(1,1) primary key, D
- 1.安装python3yum -y install wget gcc make zlib-devel readline-devel bzip
- python爬虫--爬取网易云音乐评论方1:使用selenium模块,简单粗暴。但是虽然方便但是缺点也是很明显,运行慢等等等。方
- 进制转换进制之间的转换主要是利用十进制完成的。在进制转换的过程中,可以首先将相关进制转换为十进制的,再进行二次转换达到想要的效果。当然在进制
- 本文实例讲述了PHP实现ASCII码与字符串相互转换的方法。分享给大家供大家参考,具体如下:<?phpclass ascii { &n
- 训练好了model后,可以通过python调用caffe的模型,然后进行模型测试的输出。本次测试主要依靠的模型是在caffe模型里面自带训练
- 1、准备工作准备三张表,一张角色表,一张装备表,一张基础数据表,这里只展示一些教程中需要的字段,在游戏开发的过程中肯定不止这么几个字段,我想
- Xajax是PHP一个不用刷新或者跳到其他页面,就能通过点击组件等与后台后台数据库交互的技术Xajax是php的一个插件,要想使用Xajax
- 1. 说明本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统
- 前言Qt 自带的工具提示样式不太好看,就算加了样式表也时不时会失效,同时工具提示没有阴影,看起来就更难受了。所以本篇博客将会介绍自定义工具提
- 在Numpy中NaN值一般出现在数据清洗前,出现这个值说明这个数据是缺失的在有些时候我们会选择直接删除这些数据,但有些时候这些数据是不能删除
- 目录连接池是什么?为什么需要连接池?连接池的原理是什么?使用python语言自制简易mysql连接池开始使用自定义配置文件名 & 配
- 本文实例为大家分享了tkinter实现页面跳转的具体代码,供大家参考,具体内容如下主函数main.pyfrom tkinter import
- Pythonpython 真的太好用了,但是它真的好慢啊(哭死) ; C++ 很快,但是真的好难写啊,此生能不碰它就不碰它。老天啊,有没有什