一种基于Web页无限层采集方法

文档序号:7919261阅读:186来源:国知局
专利名称:一种基于Web页无限层采集方法
技术领域
本发明涉及一种网页采集方法。
背景技术
网络信息的采集通常是借助各种搜索引擎来完成的, 一个普通商用搜索引擎由搜索 器、索引器、检索器和用户接口等四部分构成。 一般来说,搜索器就是一个称为Robot 计算机程序的网络机器人,它从某一初始页面或站点的URL开始遍历互联网自动地发现 网页信息,当进入某个超文本页面时,它利用HTML语言的标记结构来搜索信息和获取指 向其他超文本的URL链接,通过一定的算法选择下一个要访问的站点继而转向另一个站 点继续搜集信息。索引器的功能是理解搜索器所搜索的数据信息,从中抽取出索引项, 建立用于表示数据文档以及生成数据库的索引库。检索器的功能是根据用户的査询在索 引库中快速检出数据文档,依据相关度评价对检出的结果进行排序。用户接口的功能是 输入用户的查询并显示检索器检出的查询结果。从技术层面上来看,网页采集技术与搜索引擎采用的技术有着很多相似之处。但是从 服务目的和方式来看,普通搜索引擎是面向所有互联网用户的,它力图满足所有用户对 各种网络信息的搜索需要。当用户在使用普通搜索引擎的时候, 一般是向它提供检索词, 然后搜索引擎在其索引数据库中检出相应内容并返回给用户所需内容的链接。而网页采 集则是面向用户的,它是为用户在一个类别内积累信息并最终形成知识而建立的。网页 采集系统是一个实时抓取系统,在得到用户定义的模型后,直接到定义的模型网站上, 将模型网站上的信息资源抓取后全部返回给用户而不仅仅是链接。采集的目的是为了服务于用户,对于每个用户来说,他们并不关心整个Web上的数据。 而只是其中的一小部分。事实上,这部分数据往往集中在很小的几个或者一个主题领域 内。面向用户的网页采集恰恰可以满足这些用户的需求,并且,由于采集的页面数量较 少,页面内容也更有针对性,所以能够更好的针对需要为用户提供服务。网页采集技术中的网页釆集,主要是指通过web页面之间的链接关系,从web上自动 的获取页面信息,并且随着链接不断向所需要的web页面扩展的过程。采集程序是从一个网页或多个网页出发,逐步遍历Web Server上的文件。采集程序 首先解析网页的HTML代码,査找该页面内的超链接,然后通过递归和非递归两种方式来 实现。递归方式,是在一个方法中调用自己本身的程序方式。这种方式在遍历的工程中, 在没有处理完一个网页对应的URL情况下处理该网页中某个URL。这种程序虽然简单,但 是当一个URL本身的链接较多时,递归每次要将本次未完成的代码压进程序代码栈,这样程序在执行时要耗费大量计算机资源。另外这种程序不能使用多线程技术。因此在高 效的采集程序中不采用此方式。非递归方式,使用队列这种数据结构,当采集程序发现超链接后并不调用自己本身 而是把超链接加入到等待队列中,当采集程序扫描完一个页面后,会访问队列中的下一 个超链接地址。 、发明内容本发明的目的是,提供一种面向用户的非递归性网页采集方法,利用本发明提供的 网页釆集方法,能够针对用户需求,进行多层次链接分析,提取用户所关心的内容,高效 地实现网络信息采集。为此,本发明采用如下的技术方案一种基于Web页无限层采集方法,包括下列步骤(1) 规范网页釆集的入口页面地址StartURL;(2) 对该页面上的每一个URL进行解析,若该URL是相对路径,利用入口地址StartURL补 全,将其转换成绝对路径;(3) 判断入口地址StartURL是否为该URL的上级,若是则启用下行链采集,继续向下扩展, 若不是,则停止扩展;在采集和扩展过程中,对于每个URL,循环匹配取出页面中的 文字,并査找页面上的链接,将链接上的文字以及链接所指向的网页中的文字取出并 存储,如此遍历该网页的所有链接,进行无限层网页采集。作为优选实施方式,上述采集方法中,步骤(2)和步骤(3)采用多线程的方法进 行网页采集建立用于在采集过程中存放URL的四个队列等待队列、处理队列、错误 队列、完成队列,每个队列都保存着同一处理状态的URL;在等待队列中,URL等待被采 集程序处理,新发现的URL也被加入到这个队列中;当开始采集处理时,URL被送到处理 队列中;如果在解析网页时出错,URL将被送到错误队列中;如果解析网页没有出错,URL 将被送到完成队列中。本发明的有益效果与普通采集比较,基于Web页无限层采集与跨层存储方法,其査 准率和查全率易于保证,页面分析速度、分析层次更为清晰。在采集过程中无须对整个 Web进行遍历,(独创入口层管理模式)只需选择唯一入口即可对网站相关的页面进行自动 访问分析,一方面回避了传统信息采集系统单一,另一方面又为实现一次采集多次利用的 存储结构奠定基础,能够大大节省网络带宽减少服务器负载。


图1本发明的网络信息采集的总框架图; 图2本发明的网页采集流程图。
具体实施方式
本发明根据给定的网站的入口地址作为遍历的起始网址。以Web页采集模型为基准, 遍历该Web页中符合此模型的所有链接,并且随着链接不断向所需要的Web页面扩展的 过程。区分这些链接所指向的Web页特征,根据Web页采集模型过滤噪音,进而进行多层 次链接分析,提取用户所关心的内容。开始进行网络信息采集前,先给定网站入口地址,给定的网站的入口地址作为遍历的 起始网址。当采集程序遇到某个网页时,根据采集模型分析网页,将相关链接加入到链 接队列中;同时分析页面内容,将该网页放入页面库中。程序框架如图l。采集算法如下输入入口地址;输出用户所需内容步骤l:(l)根据输入的入口地址,遍历该Web页中符合此模型的所有链接。判断链接 地址是否为下行链,若是,则启用下行链采集模型,继续向下扩展;若不是,则停止扩 展。步骤2:采集程序将得到的网页交给链接分析器和内容分析器;步骤3:对于内容分析器而言,根据采集模型定义的规则,循环匹配取出页面中的文 字。对于链接分析器而言,首先查找页面上的链接,将链接上的文字以及链接所指向的 网页中的文字取出。 ,本发明在网页采集过程中用到了四个队列,分别是等待队列、处理队列、错误队列、 完成队列。他们每个队列都保存着同一处理状态的URL。在等待队列中,URL等待被Spider 程序处理,新发现的URL也被加入到这个队列中;当Spider程序开始处理时,URL被送 到处理队列中;如果在解析网页时出错,URL将被送到错误队列中,该队列中的URL不能 被移入其他队列中。如果解析网页没有出错,URL将被送到完成队列中,该队列中的URL 不能被移入其它队列中。程序流程图如图2。在等待队列中,URL等待被Spider程序处理,新发现的URL也被加入到这个队列中; 当Spider程序开始处理时,URL被送到处理队列中;如果在解析网页时出错,URL将被 送到错误队列中,该队列中的URL不能被移入其他队列中。如果解析网页没有出错,URL 将被送到完成队列中,该队列中,的URL不能被移入其它队列中。程序流程图如图2。实践证明,多线程机制,能提高Spider的效率。多线程使Spider在处理网页时, 可请求、等待其它网页。在编写Spider程序时通常的做法是为每一个请求创建一个线程, 但为每个请求创建一个新线程的开销很大;而且在请求很多时,在创建和销毁线程上花 费的时间和消耗的系统资源要比花在处理网页上的时间和资源更多。我们可用线程池来 解决这个问题。在线程池中,线程的数量己给定,线程池中线程的数量要合适,太少、 太多都会降低Spider的效率。线程池将给这些线程分配任务。当线程完成一个任务时,另一个任务将分配给它。这是因为线程的数量一定,不能再创建新的线程。本发明使用 线程池的方法如下(l)创建一个大小为n的线程池pool; (2)检查等待对列中是否还有 未处理的网页,如果没有则结束,如果有则转(3); (3)创建一个处理网页的工作线程 Myspiderworker;检査线程池中是否有空闲的线程,如果有,利用线程池执行 Myspiderworker,转(2),如果没有,Myspiderworker等待直到线程池中有空闲的线程。页面采集到本地后需要对其进行分析以提取用户所关心的内容。链接的提取是页面分 析中的一个重要任务,必须保证完整、准确地从页面中抽取出所有链接及相关数据,包括 链接目的URL(统一资源标识符)、链接的说明文字等。由于HTML语法包含了多种链接方 式并仍在不断扩充之中,在HTML语法分析器中对各种链接形式都必须加以识别和处理,并 对一个页面上所有链接进行分类。参考国内外已有的研究结果,将网页的链接分成以下6类,主要以URL为判别标准(1) DOWNWARD(下行链)。目标页面是当前页面的下级页面,通常是为当前页面提供更详 细的信息,可以看作是当前页面的附属子页面。典型运用在主页、索引页面中。(2) UPWARD(上行链)。与DO丽WARD链相反,目标页面是当前页面的上级,也可能是跨了 好几级。许多页面都提供这样的链接让浏览者方便地返回上一级索引或直接返回主页。(3jHORIZONTAL(水平链)。同一 目录下的页面间的链接被定义为水平链。有时WWW站 点内部的层次不是非常清晰,有些页面都不加区分地放在同一目录下,无法直接区分出页 面的上下级关系。此时只有将这些链接统统当作水平链,留待以后系统掌握了页面及站点 的更多信息后再加以区别。(4) CROSSWISE(交叉链)。在前面三种链接关系中,两个页面都处在站点目录中同一条 路径上。当两者分别位于两个不同的分枝上时,就无法比较它们的上下级,称之为交叉链。 一般说来这类链接只表明两个页面有关,没有明确的含义。(5) 0UTWARD(外向链)。链接指向其它站点中的页面。此类链接所表示的页面关系更加 模糊,它指向的页面内容可能与当前页面毫无关联,在站点分析过程中此类链接所起的作 用不大。(6) FRM1E(框架链)。此类链接比较特殊,从外观上看,目标页面实际上嵌入到当前页面 中,完全可以看作当前页面的一部分,因而它所表示的关系是最紧密的。它另一个特殊的 方面在于该类链接的判定不是根据URL,而是在语法分析构成'中抽取链接时就己经确定 了。本发明基于上述6种链接的类型,提出的网页链接判定逻辑的基本步骤如下(1) 规范入口地址StartURL,形如http:〃A. B. C/... /D。(2) 确定一级域名,即B.C。(3) 对该入口页面采集模型上每一个URL进行分析。(4) 若该URL是相对路径,用入口地址StartURL补全。(8)判断入口地址StartURL是否为该URL的上级,若是则判定为DO丽WARD(下行链),启用下行链采集模型,并可继续向下扩展;若不是,则停止扩展。我们浏览Web上的网页时,会发现并不是所有的内容都是我们所需要的。对于一个网 页来说,上面有图片,有版权信息,有新闻等等。但总体来说通常包含两部分内容,一 部分内容体现的是网页的主题信息,比如一张新闻网页中的新闻部分,我们称之为"主 题"内容,它是该网页的核心内容,也是读者最感兴趣的内容;另一部分则是与主题内 容无关的导航条、广告信息、版权信息以及调查问巻等内容,我们称之为"噪音"通常 分布在"主题"周围,有时也夹杂在主题内容中间。噪音内容一般与"主题"内容不相 关,通常,他们链接到的网页也与"主题"内容不相关。网页中的噪音内容不仅给Web 上基于网页内容的应用系统带来困难,如网页分类系统、网页信息抽取系统;也给基于 网页超链指向的应用系统带来困难,如网页评级系统。因此,如何快速准确地识别并清 除网页内的噪音是提高Web应用程序处理结果准确性的一项关键技术,我们将该项技术 称之为网页净化。首先,网页净化后,没有了噪音内容的干扰,Web应用程序可以以网页 的主题内容为处理对象,从而提高处理结果的准确性。其次,网页净化可以显著简化网 页内标签结构的复杂性并减小网页的大小,从而节省后续处理过程的时间和空间开销。 因此,网页净化已成为Web信息系统预处理环节中的一个必不可少的工作。在网页净化中为了区别一个网页中的信息是噪声还是主题内容,首要的工作时将整 个网页划分成多个不同的块。当前存在多种网页分块方法,比较流行的有基于D0M的划 分方法,还有基于位置的划分方法。将网页划分为多个块之后,接下来的工作便是衡量 的每个块的重要程度,不重要的便是噪声。当前也存在多种衡量网页块价值的方法,大 都基于以下考虑对于一个网站来说,噪声块通常有共同的内容和表现风格。本发明将 多个网页之间共同的部分定义为模板,当网页根据一些规则划分成多个小块之后,根据 定义好的模板来识别重复出现的网页块,并计算出现的次数。多次重复出现的网页块的 自然为噪声块。首先根据"TABLE"标签将一个网页分成几个内容块;然后根据网页块的 簇的大小来判断是否是噪声。
权利要求
1.一种基于Web页无限层采集方法,包括下列步骤(1)规范网页采集的入口页面地址StartURL;(2)对该页面上的每一个URL进行解析,若该URL是相对路径,利用入口地址StartURL补全,将其转换成绝对路径;(3)判断入口地址StartURL是否为该URL的上级,若是则启用下行链采集,继续向下扩展,若不是,则停止扩展;在采集和扩展过程中,对于每个URL,循环匹配取出页面中的文字,并查找页面上的链接,将链接上的文字以及链接所指向的网页中的文字取出并存储,如此遍历该网页的所有链接,进行无限层网页采集。
2. 根据权利要求l所述的基于Web页无限层采集方法,其特征在于,步骤(2)和步骤G)采用多线程的方法进行网页采集建立用于在采集过程中存放URL的四个队列 等待队列、处理队列、错误队列、完成队列,每个队列都保存着同一处理状态的URL; 在等待队列中,URL等待被采集程序处理,新发现的URL也被加入到这个队列中;当 开始采集处理时,URL被送到处理队列中;如果在解析网页时出错,URL将被送到错 误队列中;如果解析网页没有出错,URL将被送到完成队列中。
全文摘要
本发明涉及一种基于Web页无限层采集方法,包括下列步骤(1)规范网页采集的入口页面地址StartURL;(2)对该页面上的每一个URL进行解析,若该URL是相对路径,利用入口地址StartURL补全,将其转换成绝对路径;(3)判断入口地址StartURL是否为该URL的上级,若是则启用下行链采集,继续向下扩展,若不是,则停止扩展;在采集和扩展过程中,对于每个URL,循环匹配取出页面中的文字,并查找页面上的链接,将链接上的文字以及链接所指向的网页中的文字取出并存储,如此遍历该网页的所有链接,进行无限层网页采集。利用本发明提供的网页采集方法,能够针对用户需求,进行多层次链接分析,提取用户所关心的内容,高效地实现网络信息采集。
文档编号H04L29/08GK101404666SQ20081015201
公开日2009年4月8日 申请日期2008年10月6日 优先权日2008年10月6日
发明者闻 李, 袁青霞, 赵洪宇, 阮振中 申请人:赵洪宇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1