HI,欢迎来到好期刊网,发表咨询:400-888-9411 订阅咨询:400-888-1571证券代码(211862)

计算机爬虫技术集锦9篇

时间:2024-01-29 15:36:16

计算机爬虫技术

计算机爬虫技术范文1

>> 基于垂直搜索引擎的主题爬虫技术 Heritrix在垂直搜索引擎中的应用 用开源软件建垂直搜索引擎 垂直搜索引擎爬虫系统DIPRE算法及改进 应用已有的开源搜索引擎 垂直搜索引擎应用研究 浅谈垂直搜索引擎技术的应用 浅析垂直搜索引擎的应用 网络化制造资源垂直搜索引擎的研究与应用 搜索引擎也开源 主题搜索引擎中网络爬虫的搜索策略研究 垂直搜索引擎异军突起 垂直搜索引擎在旅游企业中应用的探索 用户兴趣模型在垂直搜索引擎检索模块中的应用 垂直搜索引擎在金融信息技术分析中的应用 基于C#的网络爬虫搜索引擎的设计 主题搜索引擎中网络爬虫的实现研究 基于神经网络的搜索引擎应用 垂直搜索:搜索引擎的激情所在 基于垂直搜索技术的搜索引擎 常见问题解答 当前所在位置:(|l)$,这样就把服务器域名下的网页所有信息全部抓取下来。但是,考虑垂直搜索引擎的使用范围和聚焦爬虫对网页主题的过滤功能,需要设计与实际主题搜索应用相匹配的专用解析器,专用解析器extract(CrawlURL)要实现以下功能:

(1)对所有不含有要抓取的结构化信息页面的 URL、又不含有可以集中提取前者 URL 的种子型 URL,都不作处理。

(2)从可以集中提取含结构化信息页面 URL 的种子型 URL(如地方新闻目录 URL),提取全部的含结构化信息页面的 URL(如地方信息列表 URL)。

(3)从含结构化信息页面的 URL 提取所需的结构化信息,并加以记录。

3.2.2 扩展 Frontierscheduler模块

FrontierScheduler 是一个 PostProcessor,其作用是将 Extractor所分析得出的链接加入到 Frontier 中,以待继续处理,聚焦爬虫实现关键词对主题的判断算法就在该模块中构建并执行。主题相关度判断的关键代码如下:

public void GetCount(String path,CandidateURI caUri)

{//判断待抓取网页与主题是否相关

try {

String s=sb.getStrings();//s 取网页正文字符

Len=length(s);//求网页字符数

float d=0;//初始化 d,用于计算所有导向词的权重和

for(int i=0;i

{count=0,int j=1;//count为导向词出现次数,j 为导向词在字符串的位置

t= length(a[i]);//求第 i 个导向词的字符个数

While(j

int index=s.indexOf(a[i],j,len);//查找字串在 j+1 到 end 之间第一个字符首次出现的位置

if(index!=-1)//找到后,继续在余下的字符串中找

{count++;

j=index+t+1;}

Else

Break;

}

D(i)=count*b(i);//D(i)是第 i 个导向词的权重,b(i)表示 i 个导向词的权值。

d=d+ D(i);//将所有导向词的权重求和

}

k=1/len * 1/100 * d;//k 是网页主题相关度,len是文章字符数,100个导向词

if(k>0.6) ; //相关度判断

{System.out.println("count:"+count);//表示输出

getController().getFrontier().schedule(caUri); //当前 url 加入 heritix 采集队列 }

}

3.3 Heritrix聚焦爬虫接口的设计

Heritrix 网络爬虫是一个通用的网页采集工具,需要对Heritrix 抓取和分析网页的行为进行一定的控制,修改Extractor和 Frontierscheduler模块后,需要对其各个功能接口进行操作调试,由此保证聚焦爬虫功能的全面实现。下面即对重要功能接口进行必要介绍。

(1)应用接口

在设计聚焦爬虫时,应定制一个应用接口模块以供用户使用,具体将负责与Heritrix 软件关联,以提供启、停爬虫、获取网址、采集关键词等功能实现。

(2)数据库查询和修改接口

在设计聚焦爬虫时,应设计相应的数据库接口,负责下载并发现与主题相关的网页信息、再保存到数据库的表中。存储的字段包括:网页URL,本地存储相对路径,下载时间,HTTP头中抽取的网页编码,关键词id等。

(3)去重接口

因为Heritrix对相同的URL不进行替换,爬虫工作时会下载大量重复的网页,为了节省空间、并获取准确的采集结果,就必须按照设定规则对重复下载的网页进行删除。

4 结束语

通过以上对开源Heritrix软件的改进,聚焦爬虫已能根据预设的关键词进行网站抓取,并按照算法判断,当网页的主题相关度阈值大于0.6时,即聚焦爬虫下载网页,至此爬虫实现了指定网站的主题搜索。综上可见,可以改进开源网络爬虫并使其在垂直搜索引擎中获得成功立项使用。

参考文献:

[1]刘运强. 垂直搜索引擎的研究与设计[J]. 计算机应用与软件,2010, 127(7): 130-132.

[2]刘伟光. 一种基于改进向量空间模型的藏文主题网页采集方法[J]. 图书馆学研究,2014, 16:55-62.

[3]陈欢. 面向垂直搜索引擎的聚焦网络爬虫关键技术研究与实现[D]. 华中师范大学, 2014.

[4] 焦赛美. 网络爬虫技术的研究[J]. 琼州学院学报, 2010, 18(5): 28-30.

计算机爬虫技术范文2

关键词:互联网视频网站;爬虫技术;获取数据

中图分类号:TN915.08 文献标识码:A 文章编号:1671-2064(2017)03-0030-01

在当前阶段中,随着计算机网络技术的不断完善,各个领域当中的数据在不断增加,从而使当前社会进入到大数据时代,这些数据可以为各个领域的发展提供良好的帮助。这种情况下,为了使互联互联网视频网站更好的为人们提供视频,就要更好的对这些数据进行获取。因此,加强对互联网视频网站使用爬虫技术获取数据的研究具有重要意义,促进我国互联网视频网站更好的发展。

1 互联网视频网站数据获取的特点

1.1 一般特点

随着社会的发展,科学技术的不断进步,计算机网络技术得到了飞速的提升,从而出现了大量的数据,其中就包括了互联网视频网站数据,在这些数据当中,就会体现出很多的特点,主要有以下几个方面:(1)数据体量巨大。在人们的生活当中,利用网络观看视频是主要的娱乐方式之一,因此,在观看的过程中,就会出现很多的网络信息,如用户的个人信息,用户对节目观看的信息,节目自身具有的信息等等,从而使其具有了数据体量巨大的特点;(2)数据类型繁多。在对视频网站进行应用时可以发现,在其中包含了很多形式的内容,如图片、视频、文字等,因此,就说明视频网站产生的数据出现了类型繁多的特点;(3)价值密度低。在视频网站运行的过程中,是连续不断的产生数据的,而在这些数据当中,包括了各个种类的信息,而在这些信息当中,有些信息存在的价值往往不是很高,不会影响到视频网站的发展;(4)处理速度快。这一特点就体现在人们对视频观赏时,能够立刻的产生数据,据相关部门统计,互联网视频网站每秒产生的数据是以PB为单位的[1]。

1.2 获取网页信息

在互联网视频网站数据当中,除了具有上述的一般特点之外,还具有获取网页信息的特点。在对视频网站开发的过程中,可以利用很多技术来完成,如英文超级文本预处理语言技术、面向对象程序设计语言技术等,虽然这些技术的方式具有一定差异,但是在对数据进行传输时,使用的原理相差不是很大,都是利用相应的HTTP协议,将数据传递到用户当中。并且,由于互联网视频网站数据具有上述的一般特点,因此,在其对数据进行获取时,还可以获取一些网页当中的信息,通过对网页中的信息进行应用,从而为视频网站更好的运行提供了帮助[2]。

2 互联网视频网站获取数据时爬虫技术的应用

2.1 网络爬虫的算法分析

在应用爬虫技术对互联网视频网站数据进行获取时,是利用相应的算法来完成的,而在当前的算法当中,主要有以下三种:第一种是深度优先搜索算法,该算法是爬虫技术当中最基础的算法,同时也是出现最早的一种算法,其目标是要到达结构的最外结点,即在搜索时不能将具有链接的HTML文件检索出来。该算法运行当中,首先沿着一条链接进行检索,直到边缘节点为止,将该条连接中的所有数据搜索出来,然后在对另一条链接进行搜索,从而使视频网站获得了相应的数据。使用该种算法获取数据时,能够准确的检索出整个文件中的数据,但是由于网络的复杂性,在对数据搜索时,常常会导致该算法中断,不能对其他链接进行检索;第二种为宽度优先算法,就是在视频网站信息获取的过程中,根据网站的结构不同,沿着宽度的方面,一层一层的进行搜索[3]。

2.2 算法改进

由于上诉的基本算法都存在一定的缺陷,对互联网视频网站的数据获取带来了一定的影响,其中最好优先搜索算法的缺陷较小,只是存在查全率不高的问题,因此,就要对该算法进行改进。在利用改进算法进行检索时,在对一个文件查找完成后,就算该文件与本次查找关系不大,但是也不会对其进行忽略,而是将其储存到相应的位置,对其进行深入的分析,分析出每个信息中是否会存在视频网站有用的信息,如果不存在这一类信息,才可以继续对其他文件进行检索,然后利用该种算法对整个网络进行检索,从而改善了查全率不高的问题,使互联网视频网站数据获取的效果更高[4]。

3 结语

综上所述,在当前的互联网当中,大数据为其发展提供了重要的帮助,但是,由于大数据具有的开放性、共享性等特点,在使用的过程中还会存在一定的风险,因此,在利用爬虫技术对互联网视频网站的数据进行获取时,要加强对数据风险的防范,能够保证网站的安全性、可靠性。

参考文献

[1]孔涛,曹丙章,邱荷花.基于MapReduce的视频爬x系统研究[J].华中科技大学学报(自然科学版),2015,09(05):129-132.

[2]邓炳光,郭慧兰,张治中.移动互联网用户行为分析系统中聚焦爬虫的设计与实现[J].重庆邮电大学学报(自然科学版),2015,11(03):359-365.

计算机爬虫技术范文3

[关键词]网络爬虫;User-Agent;网络策略

[DOI]10.13939/ki.zgsc.2016.23.077

1引言

随着科技的发展,大众正面临着一种信息爆炸的局面。在巨量数据面前,大众面临着一种尴尬局面,那就是互联网中有大量的对自己有用的数据,但是怎样能正确和便捷的获取到这些数据存在着困难。搜索引擎的出现很好地解决了这种局面,让大众通过搜索引擎搜索自己想要的数据。在互联网的搜索引擎和网站中,目前最常用的是网络爬虫技术。任何事物都有正反两个面,网络爬虫的出现也印证了这个说法。网络爬虫在给人们提供搜索便利的同时也占用了大量的网络带宽,很多网站的访问流量构成当中,爬虫带来的流量要远远超过真实用户访问流量,甚至爬虫流量要高出真实流量一个数量级,因此应对网络爬虫是一个值得网站开发者长期探索和解决的问题。

2网络爬虫概述

网络爬虫也被称为网络机器人,是一种能够“自动化浏览网络” 的程序,通过它可以在互联网上自动抓取内容。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息。早期的爬虫主要功能是索引网站中的文本内容,随着技术的发展,爬虫的功能也越来越强,例如对图片、视屏与内容的关联,对各种数据格式(如doc、xls、pdf)的解析等。

有关分析数据显示,网站流量中有高达60%可能是由网络爬虫产生的,而这些爬虫则是由用户或其他程序控制,并可能模拟人类的Web访问行为。几乎所有在线业务都可能受到各种类型的爬虫流量的影响。这可能包括抓取内容或价格信息的爬虫、购买限量供应商品及服务而使合法客户无法正常购买的“交易”爬虫、用欺骗手段增加广告收入的自动“点击”爬虫等。另外,因为搜索引擎的流行,网络爬虫实际已经成了应用很普及的网络技术,除了专门做搜索的Google、Yahoo、微软、百度等公司以外,几乎每个大型门户网站都有自己的搜索引擎,除此以外数量繁多的中小型网站也都有自己的搜索引擎,所以说对于处于互联网中的网站来说,受到网络爬虫的光顾是不可避免的。对于一些技术成熟且智能化水平高的搜索引擎来说,爬虫的爬取频率设置比较合理,对网站资源消耗比较少,但是很多设计水平差的网络爬虫,其对网页爬取能力很低,经常并发几十上百个请求循环重复抓取,这种爬虫对中小型网站的影响往往是致命的,特别是一些缺乏爬虫编写经验的程序员写出来的爬虫破坏力极强。

3网络爬虫流量的应对措施

3.1手工识别拒绝爬虫的访问

这种方法主要是针对爬虫的来源IP进行封堵,通过netstat检查网站主机的80端口,察看80端口的IP连接数量,通过连接数量的多少确认网络爬虫的来源IP,这种方法主要应用了网络爬虫并发连接数量非常高的特点。在确定来源IP后可以通过防火墙来拒绝网络爬虫对网站的访问。

3.2通过User-Agent信息识别爬虫

网络爬虫并不是全部具备高并发连接的特点,有时候网络爬虫并不会采用高并发来进行网站内容的爬取,这样一般不容易通过手工方法识别;同时有些网络爬虫来源IP分布范围很大,很难采取封锁IP段的手段来解决问题。它们通常采用以爬虫数量取胜的方法,即通过大量爬虫分别有限爬取网页的办法,这些小爬虫单独爬取的量都不高,所以很难准确识别其IP。这种情况下我们可以通过User-Agent信息来识别爬虫。这是应用了爬虫在爬取网页时会声明自己的User-Agent信息,我们通过分析User-Agent信息来识别爬虫。这种方法实施简单效果也非常好,它可以对特定的爬虫进行封锁,也可以对编程语言中的HTTP类库进行封锁,这样可以避免无用爬虫对网站的影响。同时我们还可以采用一种更高级一点的方法在不封锁特定爬虫的情况下,通过降低爬虫的请求频率来减轻爬虫对网站性能的影响。

3.3通过网站流量统计系统和日志分析来识别爬虫

有些爬虫会通过修改User-Agent信息来伪装自己,把自己伪装成一个真实浏览器的User-Agent信息。这种情况下我们就无法通过User-Agent信息识别爬虫了,但是我们可以通过网站流量系统记录的真实用户访问IP来进行识别。

当前主流的网站流量统计系统经常采用两种实现策略:一种策略是在网页里面嵌入一段JavaScript代码,这段JavaScript代码会向特定的统计服务器发送请求的方式记录访问量;另一种策略是直接分析服务器日志,来统计网站访问量。一般情况下,嵌入JavaScript代码的方式统计的网站流量应该高于分析服务器日志统计的网站流量,这是因为用户浏览器会有缓存,不是每次真实用户访问都会触发服务器的处理。

在进行服务器日志分析时,我们可以采用服务器日志分析软件,好的分析软件可以使我们的分析工作进行的事半功倍。通过日志分析软件的分析和识别功能,可以对网站的IIS、Apache、Nginx等进行识别和分类分析并给出分析结果。

通过流量统计系统一般可以得到用户真实的访问IP。正常情况下爬虫是无法执行网页里面的JavaScript代码片段的。所以我们可以用流量统计系统记录的IP与服务器程序日志记录的IP地址进行比对,如果服务器日志里面某个IP发起了大量的请求,在流量统计系统里面却根本找不到相关的记录,或者能找到访问量却与服务器日志里面的统计量出入很大,那么基本可以确定这就是网络爬虫。

3.4通过设置网络策略实现网站实时反爬虫

通过分析日志的方式来识别网页爬虫只是一种被动的防爬虫方法,它永远滞后与爬虫带来的危害,通过防火墙可以实现一个实时的反爬虫策略。如果一个恶意爬虫非要针对某一网站进行蓄谋的爬取,那么它完全可能会采用分布式爬取的策略来进行,比如通过成百上千个服务器对目标网站进行大频率的爬取,从而导致目标网站无法相应正常访问,那么再进行日志分析解决问题就显得非常被动和应对滞后。所以必须采取实时反爬虫策略,要能够动态的实时识别和封锁爬虫的访问。

4结论

科学技术总是在不停地往前发展,这些技术就像矛和盾,总是存在此消彼长的状态,随着技术的进步,攻与防的战斗也在向纵深发展。对于网络爬虫不能只是一味地封堵,比较可行的方法是进行疏堵结合,通过更全面的超越简单拦截的多样化策略,更好地控制爬虫流量,将其负面效应减到最低状态。

参考文献:

计算机爬虫技术范文4

一、基础数据采集

网络产生巨大的数据量,例如2013年,每天平均产生两百多万TB的数据量而且信息来源多样,这些信息都是获取有效舆情的数据基础,我们首先要尽可能全面地收集到这些信息。网络数据获取可以采用网站提供的API或网络爬虫工具获取。使用API方式是通过网站提供商获取数据信息,为了避免频繁调用对网站服务产生影响,一般调用API次数都会有一定限制,同时网站对于获取数据权限有各种限制,由于种种限制,目前普遍研究和使用的网络爬虫都不使用API。网络爬虫指从一个或多个指定的网页开始,在全网范围搜索获取网络信息资源,通过简单设置目标网站、爬行间隔和存储位置等就能够自动批量获取网页内容,为数据获取提供极大便利。常见的网络爬虫有传统网络爬虫和聚焦网络爬虫。传统网络爬虫获取的数据有一定盲目性,获取的信息很大一部分都不符合要求,造成时间、资源的浪费。而传统网络爬虫的并行机制也带来数据重复抓取、页面质量下降等问题。但传统网络爬虫具有获取数据完整、速度较快的优点。聚焦网络爬虫增加了页面相关度评价和URL价值评价功能进行信息过滤和分析,利用主题相关度评价模型过滤掉与主题无关的网页,利用URL主题相关度控制爬虫爬行过程,不遍历和主题无关页面,提高爬行效率。聚焦网络爬虫数据相关性高,但速度较慢。在舆情采集过程中合理利用网络爬虫,可以在短时间获取大量网络数据,但这些数据存在大量冗余,数据针对性不高,需要后续提取分析。

二、冗余数据清洗

网络舆情分析的主体是与主题相关的数据信息,通过网络爬虫程序获取的是由HTML和各种脚本语言构成的web页面,web页面由与主题相关的网页正文和与主题无关的数据组成,与主题无关的数据也称为网页噪音。由于web页面的形式多样,正文与噪音之间没有明确的界限,而大量存在的网页噪音造成资源浪费,对正文分析也造成很大干扰。我们需要对页面进行处理,剔除网页噪音,比如页面中的广告、导航信息、说明文字等,提取正文、链接、作者、点击量等主题相关信息。通过去噪处理得到的文档一般包含大量重复信息,互联网信息频繁的转发、复制以及不同URL地址指向同一页面等情况都导致信息重复,重复信息成倍增加工作量,去除重复文档也是进行正文提取、分析的必要步骤。我们可以对文档进行向量化处理之后,计算各个特征词的权重,利用相似度算法计算词语与词语之间的相似度,通过计算文档相似度,去除重复信息。当前网页去重算法有很多,但大多数都是基于shingling和LsH的思想,比如对shingle生成策略的改进,对LsH指纹间海明距离计算的改进,以及对这些算法本身参数设置不同而带来性能变的研究等。

三、正文文本提取

通过去噪去重处理,修剪掉网页多余数据,如何快速有效地提取出需要的正文就需要正文提取技术。正文提取技术也是网络舆情发现的一项重要技术。当前常用的网页正文提取算法包括基于DOM树的网页正文提取技术、基于内容规则的网页正文提取技术、基于统计学特征的网页正文提取技术和基于神经网络的网页正文提取技术等。各种提取技术各有优劣,比如目前应用比较广泛的基于DOM树的网页正文提取技术,它利用HTML的各种标签信息,将网页内容转化成规范的树形结构,通过遍历DOM树的节点,裁剪与正文无关的节点而得到正文内容。这种算法依赖于HTML标签,对于HTML规范性要求很高,而且解析过程效率也较低。利用统计学特征的正文提取技术将HTML代码解析后以行或段为单位保存,统计单位文本和HTML代码的字节数,通过计算文本和字节数比例得到文本密度,如果密度大于事先设定好的文本阈值,则该部分内容判定为正文。这种算法不需要分析源码,判断准确度较高,但限制性也较大,对于正文集中的内容效率较高。实际应用中需要针对舆情来源及其特点,结合使用各种网页正文提取技术,以达到最佳提取效率和准确度。

四、信息分类与关联

网络信息数据多样,来源复杂,数据分布离散。通过文本处理抽取的正文数据往往是相互没有关联的数据,这些文本在使用时就面临无法分析、统计等诸多问题。利用数据挖掘技术可以将文本经过分类、聚类、关联规则发现等一系列处理,从海量数据中发现主题相关的信息,发现其中的模式、规律等,从而为舆情分析与预警提供依据。文本分类指按照预先定义好的类别集合,根据文本内容进行文本自动分类的过程。是一种有监督的机器学习问题。当前的文本分类技术,大多数是基于向量空间模型,用规则的向量来表示不规则的文本数据。文本分类一般分为训练和分类两个阶段,训练阶段需确定类别集合,并在类别集合选取代表性文档计算特征矢量。分类阶段则计算待分类文档特征矢量,通过与各集合特征矢量比较选取相似度最接近的集合。文本聚类在没有类别集合的情况下进行文本分类。主要依据文档相似度,通过计算将相似文档进行归类。不同的聚类算法采取不同的文本向量组织调度策略,以不同的方式进行相似或相异的比较,将大量无序的文本划归为若干类簇,使得不同类簇描述不同事件,得出不同的话题。文本聚类是一种无监督的机器学习问题,不需要预先定义集合,具有一定的灵活性和较高的自动化处理能力。网络获取的数据类型多样,比如对于一个舆情热点事件,我们可能从网页获取事件过程,从论坛、博客等获取关注度和转发量,从公安部门获取人员、关联信息等,这些数据我们需要通过关联规则发现关联关系,将数据整合为相关的数据网。关联规则挖掘过程主要包含两个阶段,第一阶段从获取的复杂数据聚合中找到出现频率高的数据组,第二阶段在这些高频数据组中产生关联规则。有效的关联规则对于舆情分析有重大意义,但目前我国对这一领域的研究应用尚不深入。

五、话题检测与追踪

话题不同于主题、事件等概念,话题是由某一个特定事件和与该事件相关的一系列事件共同构成的。在大量网络信息中,发现某一话题并按照该话题收集与其相关的信息,对信息重新组织,可以有效了解话题的发展与演变。信息的采集、处理、分类、关联等方法将网络中存在的大量无序数据整合为统一的、存在映射关系的数据网,这个过程以网络中已经存在的各类信息为主体进行简单检索和归类。随着网络规模的几何增长,网络信息多样化,网络舆情具有隐蔽性、突发性、自由性等特点。话题发现与跟踪技术的关注点不仅仅在网络已有信息的收集处理上,还要在大量信息基础上,自动分析判断,发现值得关注的深层次的、新的信息并进行追踪,更倾向于新信息的发现,话题跟踪依据与某话题相关的少量事件,判断出后续新闻报道流中与该话题相关的报道,并将相关报道收集起来实现跟踪。通过大规模文档自动聚类建立话题。话题检测与追踪对复杂无序的网络事件进行深入分析,总结事件中的特征规律。当某一网络事件特征符合其中规律时,就可以预测该事件的发展结果,并对于预测可能导致重大后果的事件进行舆情预警。网络监控人员可以根据预警提前对网络事件进行预防疏导,避免产生严重后果。

六、信息定量评估

计算机爬虫技术范文5

搜索引擎的工作原理为:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。从互联网上抓取网页利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。建立索引数据库由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息根据一定的相关度算法进行大量复杂计算,得到每1个网页针对页面内容中及超链中每1个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。

在索引数据库中搜索排序当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。

搜索引擎按其工作方式可分为三种,全文搜索引擎,目录搜索引擎和元搜索引擎。

1全文搜索引擎

全文搜索引擎的代表是网络爬虫,网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页,并重复上述过程,直到达到系统的某一条件时停止。所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

爬虫设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度较慢的目标站点,可能导致该站点出现阻塞。Robot应遵守一些协议,以便被访问站点的管理员能够确定访问内容,Index是一个庞大的数据库,爬虫提取的网页将被放入到Index中建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个HTML文件的所有单词都建立索引,有的只分析HTML文件的标题或前几段内容,还有的能处理HTML文件中的META标记或特殊标记。

2目录搜索引擎

目录搜索引擎的数据库是依靠专职人员建立的,这些人员在访问了某个Web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点URL和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。

目录的结构为树形结构,首页提供了最基本的入口,用户可以逐级地向下访问,直至找到自己的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。由于目录式搜索引擎只在保存了对站点的描述中搜索,因此站点本身的变化不会反映到搜索结果中,这也是目录式搜索引擎与基于Robot的搜索引擎之间的区别。分类目录在网络营销中的应用主要有下列特点:

通常只能收录网站首页(或者若干频道),而不能将大量网页都提交给分类目录;网站一旦被收录将在一定时期内保持稳定;无法通过"搜索引擎优化"等手段提高网站在分类目录中的排名;在高质量的分类目录登录,对于提高网站在搜索引擎检索结果中的排名有一定价值;紧靠分类目录通常与其他网站推广手段共同使用。

3元搜索引擎

我们可将元搜索引擎看成具有双层客户机/服务器结构的系统。用户向元搜索引擎发出检索请求,元搜索引擎再根据该请求向多个搜索引擎发出实际检索请求,搜索引擎执行元搜索引擎检索请求后将检索结果以应答形式传送给元搜索引擎,元搜索引擎将从多个搜索引擎获得的检索结果经过整理再以应答形式传送给实际用户。当然,某些元搜索引擎具有略微不同的机制。元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,将结果进行相关处理,以整体统一的格式反馈给用户。

它的特点是本身并没有存放网页信息的数据库。多数元搜索引擎在处理其它的搜索引擎返回结果时,只提取出每个搜索引擎的结果中考前的条目,然后将这些条目合并在一起返回给用户,元搜索引擎实现起比较简单,但是它也有一定的局限性,例如多数元搜索引擎都只能访问少数几个搜索引擎,并且通常不支持这些搜索引擎的高级搜索功能,在处理逻辑查询时也常常会出现错误。在这几种检索工具中,目录式搜索引擎成本高,信息t少的缺点,但它的信息准确这一优点使其在一定的领域和时间内仍会被使用,机器人搜索引擎是当前各种搜索引擎的主流,但随着网络信息量的增加,单一搜索引擎已经难已满足要求,结合目录式搜索引擎,机器人搜索引擎的优势,以元搜索引擎为核心的多层搜索引擎是搜索引擎的发展方向。

搜索引擎技术功能强大,提供的服务也全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。目前的搜索引擎主要有几个特点:多样化和个性化的服务。强大的查询功能。目录和基于Robot的搜索引擎相互结合。目前搜索引擎是网络上被使用频率最高的服务项目之一,随着Internet的发展,网上庞大的数字化信息和人们获取所需信息能力之间的矛盾突出。搜索结果丰富的搜索引擎技术正在被信息更集中的局域网取代,因为搜索系统的表现与用户的期望值相差太大,诸如数据量高速增长的视频、音频等多媒体信息的检索,仍然无法实现。

搜索引擎越来越不能满足用户的各种信息需求,如收集的网页数量和其数据库的更新速度存在着不可调和的矛盾。用户经常无法打开查询的结果。网络信息时刻变动,实时搜索几乎不可能。网络信息收集与整理是搜索引擎工作的重要部分。搜索引擎需要定期不断地访问网络资源。目前网络带宽不足,网络速度慢,遍历如此庞杂的网络时间花费非常庞大,这就是不能实时搜索的原因。(编选: 勇全)

参考文献

[1]张兴华.搜索引擎技术及研究[J].现代情报,2004,(4).

[2]唐铭杰.论搜索引擎的发展概况及发展趋势[J].情报杂志,2001,(5).

[3]阳小华.分布式WWW信息收集技术[J].计算机工程与应用,2000,(5).

计算机爬虫技术范文6

关键词:WordNet;重用;领域本体;爬虫技术

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)27-0180-02

1 概述

互联网技术高速发展的今天,网络信息急剧膨胀,用户在浩瀚的互联网中获取需要的数据,主要还是依靠传统的搜索引擎,然而通用搜索引擎也存在很多弊端和局限:搜索引擎根据用户提供的关键字返回一条条链接,而这些链接包含大量用户并不需要的网页,并且通过关键字搜索的技术难以支持根据语义信息进行的查询;通用搜索引擎力求搜索面更加广泛,而服务器资源有限,这两者之间矛盾将日益凸显;信息形式不断丰富,传统搜索引擎对图片、音频、视频等多媒体形式还不能很好的发现和支持。

信息技术朝着智能化发展,因此信息和数据的表示不能像以往那样仅仅停留在语法层面,更应该聚焦在语义层面。本体是一种概念模型建模工具,是语义网络的核心技术,它能在语义和知识层面上描述信息和数据,为解决上述问题提供了一种良好途径,已经在很多领域得到广泛应用,引起了国内外很多研究人员的关注。在基于本体的应用中,最基础和核心的工作是构建领域本体。然而本体构建是一项基础却不简单的工作,目前很多领域本体的构建普遍面临几大困难:缺乏领域内专家的支持,基本都是靠计算机人员根据自身理解建立本体概念和属性,很难达到共同认可的知识水平;本体构建基本上以人工处理为主,这样的构建效率难以适应目前信息爆炸的互联网时代;构建出来的本体得不到重用,基本上一个本体的构建都是从头开始,不能很好地利用已有本体。因此,如何高效的构建本体是本体研究中一个迫切需要解决的难题。

2 本体简介

本体(ontology)最早是一个哲学概念,意思是对本质和存在的一个系统的描述[1]。而本体在人工智能界有其新的定义,对本体的理解也在逐步发展并趋于成熟。在文献[2]中提到本体的定义有以下几种:

(1)1991年,Neches 等人,将本体(ontology)定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义”。这是本体在AI领域中的第一个定义。

(2)1993年,Gruber,将本体(ontology)定义为“概念模型的明确的规范说明”。这是关于本体的一个最为流行的定义。

(3) 1997年,Borst,将本体(ontology)定义为“共享概念模型的形式化规范说明”。这是在Gruber定义的基础上给出的另一种定义。

(4)1998年,Studer,将本体(ontology)定义为“共享概念模型的明确的形式化规范说明”。这是Studer等人对(2)(3)两个定义进行了深入的研究,提出的本体的新定义。

在这些定义中,Studer提出的定义是最为著名和引用最为广泛的,这个定义指出了本体的4层含义:共享、概念模型、明确和形式化[3],其具体含义如图1所示:

目前领域本体的构建方法各有不同,但是无论如何构建本体是一项非常繁重的工作,尽管出现了一些自动、半自动的手段,在构建效率上取得了一定的进步,但是要实现全自动构建本体是非常困难的,因此,如何快速构建本体成为一个热点研究问题。针对以上不足,本文提出利用爬虫技术和基于WordNet重用的领域本体构建方法。该方法利用爬虫技术把一系列含有共同主题的网页都关联到一个文档或一个文档集中,有选择的从互联网上获取到领域内相关信息。以WordNet为源本体,分析领域内术语结构和语义关系,从WordNet中抽取出相关领域的本体,得到一个领域子本体,重用WordNet的结构,并从中获取领域知识,从而半自动地快速构建特定领域的本体。

3 网络爬虫技术

网络爬虫意思是Spider,另外Crawler,robots也有此意。网络爬虫是从互联网上自动抓取网页的程序,在本体系统运行,不断向互联网服务器发送读取网页的请求。根据特定目标或主题,事先把重要的链接加入队列,然后遍历这些链接,读取这些网页的内容,并从这些网页中提取出新的网页链接,把这些新提取的链接加入遍历队列,不断重复这个过程直到满足一定停止条件。一个爬虫过程中可概括为下面几个步骤:

(1) 对抓取目标或主题进行描述,确定目标;

(2) 根据已完成的主题描述进行分析和过滤,确定要保留的网页和数据;

(3) 根据特定算法预测下一步要访问的网页链接;

(4) 对链接队列进行先后排序,优先爬取相关度较高的链接。

在设计爬虫时要考虑很多方面,最重要的是怎样从众多链接中选择下载重要的网页,而不是下载全部网页,因此在队列中排列链接的优先级十分重要,在这方面国内外研究人员已经做了很多工作,最著名的是PageRank算法和HITS算法,PageRank算法已经成功应用于Google搜索引擎中,这两个算法都是基于链接分析的方法,缺乏语义层面上的分析,因此利用本体技术,结合网页链接和语义层面的爬虫搜索技术仍有很大的提高空间。

4 WordNet

WordNet是由Princeton 大学(普林斯顿大学)的认知科学实验室在心理学教授乔治・A・米勒的指导下建立的一种基于认知语言学的英语词典。WordNet不像普通的英语字典那样,仅仅依照字母的顺序将单词排列并解释其词义,而是构建了一个语义网络,这是与传统词典的一个最明显的区别。在这个语义网络中,一个个的名词、动词、形容词、副词按照其语义被分成不同的词组,这些词组具有相同含义,一定程度上就是同义词集合,被称作synset,每一个synset都有自己的注释和定义,用来代表概念(concept)。不同的synsets之间的关系也有注释和分析,表达上下位、同义反义、整体与部分、继承等不同语义关系,经过这样的过程,原本抽象的概念变得具体而且可以通过词汇意义加以操作,概念节点之间建立起具有语义关系的复杂语义网络。所以说WordNet是刻画本体的一个字典。

领域术语词典中的内容都是标准化的术语,可看作是领域专家对领域知识的一个浓缩,我们选取现有的领域术语词典作为领域术语集,并以之为依据从源本体中抽取特定领域的子本体。这样不仅节省大量的时间和精力,更重要的是不需要领域专家的过多支持,就可以获得高精度和标准化的领域知识。

在抽取过程中有很多问题需要注意,比如从源本体中删除领域无关的概念时,若直接删除,则该概念原来的下位概念和上位概念就失去了联系,这使得抽取出的子本体中出现过多孤立的节点。这个问题可以利用WordNet 中的传递性关系解决。

综上所述,本体构建方法仍有很多提高的空间,利用爬虫技术获取相关网页知识,重用已有的标准化本体中的部分知识,是提高本体构建效率的可行之法。

参考文献:

[1] MaedcheAlexander,StaabSteffen.OniologyLearningfortheSemantieWeb[M].Norwell:KluwerAeademiePublishers,2002.

[2] 邓志鸿,唐世渭,张铭,等.Ontology 研究综述[J].北京大学学报(自然科学版),2002(5).

[3] Studer R,Benjamins V R,Fensel D.Knowledge Engineering,Principles and Methods[J].Data and Knowledge Engineering,1998,25(1-2):16l-197.

计算机爬虫技术范文7

关键词:校园搜索引擎;python技术;设计

当今时代是一个信息化的社会,人们通过互联网可以看到各种信息,随着互联网的普遍使用,网络信息也不断地增长。想要提高信息搜索的效率,主要的就是对搜索引擎进行改进。而随着校园的信息化建设,建立一个高效搜索引擎变得非常重要。所以,本文将结合python语言对搜索引擎的设计进行分析,探讨一下该语言在校园网中的建设。

1.搜索引擎建立的流程分析

1.1框架的分析

建立校园搜索引擎首先就是要进行设计流程的分析;其次就是分析Python语言中Scrapy相关的开源爬虫结构设计,其中在Scrapy爬虫框架中有关URL的去重功能的分析;再则就是基于Python语言中关于Whoosh索引检索库的分析;最后就是对建立的系统进行测试。

根据多种的搜索引擎设计案例,总结出设计搜索引擎的基本流程:首先就是建立一个文件集合(collection),之后利用索引器(indexer)对这些文件进行索引建设。接着用户就可以进行关键词(query)的输入,这样系统就可以利用索引进行检索。而且索引模块可以对查询的结果进行分析排序,最后将搜索结果按照用户的要求进行排列呈现出来。在这之前要通过网络爬虫程序将这些集合文件下载好。因此,建立搜索引擎需要完成这几个模块:首先就是网络爬虫系统的建立,其次就是索引查询系统的建立,最后就是显示答案的模块。

1.2网络爬虫

在1993年,“互联网漫游者”诞生,它是世界上首个网路爬虫程序,也被称为是网络机器人。网络爬虫通过利用图论中的遍历算法对互联网中的大量信息进行下载,在建立搜索引擎时,是不可缺少图论的遍历算法的。该方法是将互联网比作一个大图,将每个网页作为一个点,通过每个网页中的超链接,就可以将它们相互连接起来了。

宽度优先搜索(BFS),也可以称为是广度的优先搜索,它也是属于通图中的一种遍历对策。首先建立一张图对该算法进行分析。如图1所示。

如果想要得到V0到V6之间最短的路径,那么就是分析与V0各个连接的节点,分别是V1、V2、V3,之后分析和三者相连的节点有:{V0、V4},{V0、V1、V6},{V0、V1、V5},将我们已经分析过的节点V1、V2、V3进行排除,那么就剩下V4、V6、V5,之后通过找出与V2的连接点V6,就可以得出一条路径:VO-V2-V6,然后再寻找V5的连接点,就可以得到另外一个路径:VO-V3-V5-V6,但是这条路径不是所要的最短路径。这些就是宽度搜索的基本逻辑,但是该访问方式比较消耗内存。

深度优先搜索(DFS)方式,它是和广度搜索相反,它是“一条道走到黑”的逻辑。详细来说就是当访问走到头,就去访问其他相邻的节点,假如有很多节点,那么访问左边的节点,直到没有别的节点,然后在进行其他节点的访问。这种搜索选择逻辑效率比较慢,但是它可以和广度有限搜索相结合,如此可以实现优势互补的效果。

非完全的PageRank逻辑选择:它是属于连接分析算法,主要是分析网页重要性的。所以,在进行网页优先等级选择时可以利用PageRank逻辑进行分析:将下载好的网页,和需要获取的网页组成一个集合,之后在利用PageRank逻辑进行计算。计算完之后,将获取的URL根据PageRank计算出的得分高低进行排列,然后爬虫就在这些排列中进行URL列表的搜索。

计算机爬虫技术范文8

目前Internet上的搜索引擎按其工作方式主要可分为三种,分别是爬虫式的搜索引擎(Spider Based Search Engine),目录搜索引擎(Search Directory)和元搜索引擎(Meta Search Engine)。

一、爬虫式的搜索引擎

基于爬虫(也叫Spider)的搜索引擎利用一个称为Spider的程序自动访问Web站点,提取站点上的网页,并根据网页中的链接进一步提取其它网页或转移到其它站点上。Robot搜集的网页被加入到搜索引擎的数据库中供用户查询使用。基于Spider的搜索引擎山三个主要部分构成Spider, Index和搜索软件。爬虫从一个事先制定好的URLs列表出发,这个列表中的URLs通常是从以往访问记录中提取出来的,特别是一些热门站点和“What's New”网页,从Usenet等地方检索得到的URLs也常被用作起始URLs,很多搜索引擎还接受用户提交的URLs,这些URLs也会被安排在列表中供爬虫问列表中,如此递归地访问Web。

爬虫作为一个程序,可以用C, Perl, Java等语言来编写,可以运行在Unix, Solaris, Windows, NT, OS2和MAC等平台上。爬虫设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度比较慢的目标站点,就有可能会导致该站点出现阻塞甚至当机。Robot还应遵守一些协议,以便被访问站点的管理员能够确定哪些内容能被访问,哪些不能。Index是一个庞大的数据库,爬虫提取的网页将被放入到Index中以便建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个HTML文件的所有单词都建立索引,有的只分析HTML文件的标题或前几段内容,还有的能处理HTML文件中的META标记或其它小可见的特殊标记。当用户查询一个关键词时,搜索软件将搜索Index,找出所有与关键词相符合的网页,有时候这些网页可能有成千上万,等级值的用途就是作为一种排序的依据,搜索软件将按照等级值从高到低的顺序把搜索结果送回到用户的浏览器中。

这类搜索引擎因为依靠程序搜集数据,所以其数据库相当庞大,搜索的结果查全率较高,但查准率较低。例如著名的搜索引擎Google, Baidu,A1taVista, InfoSeek等。

二、目录搜索引擎

目录搜索引擎的数据库是依靠专职编辑或志愿人员建立起来的,这些编辑人员在访问了某个Web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点的URL和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。目录的结构为树形结构,首页提供了最基本的几个大类的入口,用户可以一级一级地向下访问,直至找到自己感兴趣的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。不过,由于目录式搜索引擎只在保存了对站点的描述中进行搜索,因此站点本身的动态变化不会反映到搜索结果中来,这也是目录式搜索引擎与基于Robot的搜索引擎之间的一大区别。

三、元搜索引擎

元搜索引擎也叫做Multiple Search Engine,元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,将结果进行相关处理,以整体统一的格式反馈给用户。它的特点是本身并没有存放网页信息的数据库。严格意义上来讲,元搜索引擎只能算是一种用户,而不是真正的搜索引擎。多数元搜索引擎在处理其它的搜索引擎返回结果时,只提取出每个搜索引擎的结果中考前的条目,然后将这些条目合并在一起返回给用户,因此最后结果的数量可能会远少于直接在一个搜索引擎上进行查找所得到的数量。

元搜索引擎实现起比较简单,但是它也有一定的局限性,例如多数元搜索引擎都只能访问少数几个搜索引擎,并且通常不支持这些搜索引擎的高级搜索功能,在处理逻辑查询时也常'常会出现错误。著名的元搜索引擎有InfoSpace,Dogpile,Vivisimo等(元搜索引擎列表)。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如Dogpile,有的则按自定的规则将结果重新排列组合,如Vivisimo。

在这几中检索工具中,目录式搜索引擎虽有成本高,信息t少的缺点,但它的信息准确这一优点是另二者所无法比拟的,故在一定的领域,一定的时间,它仍会被使用:机器人搜索引擎是当前各种搜索引擎的主流;但随着网络信息量的不断增加,单一的搜索引擎已经难已满足其要求,结合目录式搜索引擎,机器人搜索引擎的优势,以元搜索引擎核心的多层搜索引擎是搜索引擎的发展方向。

搜索引擎技术从出现至今已获得了飞速的发展,现在的搜索引擎功能越来越强大,提供的服务也越来越全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。目前的搜索引擎主要有以下几个主要特点:

1.多样化和个性化的服务。现在绝大多数搜索引擎都提供多样化的服务,以吸引更多的用户,商业搜索引擎尤其注重这一点。以Yahoo为例,用户可以从它的首页中查看新闻,金融证券,天气预报等信息,还可以进行网上购物,拍卖或者使用Email等服务。可以说多样化和个性化的服务既满足了用户更多的需求,也为搜索引擎网站带来了更多的利润。

2.强大的查询功能。与最早的搜索引擎相比,现在的搜索引擎在查询功能方面已有了很大的改进。除了简单的AND,OR和NOT逻辑外,不少搜索引擎还支持相似查询,例如AltaVista,Lycos等支持短语查询,AltaVista的高级搜索功能支持NEAR逻辑等。

3.目录和基于Robot的搜索引擎相互结合。目录和基于Robot的搜索引擎都具有自己的特点,在当前的技术条件下,最好的选择是将两种技术进行结合,同时为用户提供这两种类型的服务。以Yahoo为例,用户既可以进行分类网站查询也可以进行全部网页查询,这两种不同的查询方式很好的满足了不同用户的需求。虽然搜索引擎已经为用户提供了快捷和便利的服务,但是也存在着许多问题和不足。特别是在系统的稳定性,速度,易用性和返回的信息量及相关度方面还与人们的要求存在着一定的差距,搜索引擎技术的发展任重而道远。

参考文献

计算机爬虫技术范文9

关键词:搜索引擎;垂直搜索;信息检索

中图分类号:TB

文献标识码:A

文章编号:1672-3198(2010)04-0285-01

1 通用搜索引擎

网络的发展极大地影响了我们的生活,它让我们更容易获取信息的同时,也彻头彻尾地将我们陷入了无边无际的信息海洋之中。每时每刻我们都要自觉或不自觉,被动或主动地面对数十亿页面的网络信息,想找到自己需要的信息简直就是“大海捞针”。搜索引擎的横空出世让我们有了探索信息海洋的指南针。随着技术的进步,这个指南针的功能也越来越强大,使用并接受它的人也越来越多。

需要注意的是,虽然现代搜索引擎已经取得了很大的成功,但是它仍然存在很多不足之处,主要表现如下:

首先,覆盖率低。基于Web自身的特点,大量的数据分布在数以亿计页面的互联网上,检索起来十分困难,而单个搜索引擎的覆盖率一般都低于30%,很难索引到所有的Web资源。

其次,时效性差。网络信息呈指数增长,大量信息的存活期却在缩短,这导致搜索引擎的时效性难以保证,返回结果中存在大量“错”链接和“死” 链接。

再者,查准率低。一次搜索的结果可能有成千上万条,而在这庞大的信息中,有用信息只是其中的一小部分,可谓“冰山一角”,并且常常有收到和下载的信息难以消化的情况。

最后,过于死板。现有的搜索引擎多采用关键词的机械式匹配。没有考虑到用户的个体差异,不能满足用户的个性化需求。这种方式的缺点是参与匹配的只有字符的外在表现形式,而非它们所表达的概念。因此,经常出现答非所问、检索不全的结果。

2 垂直搜索引擎

2.1 垂直搜索引擎的优势

由于Web上的信息更加细化和专业,人们有时只关心特定领域、特定范围内的信息,而Google、Baidu等通用搜索引擎却只能提供范围很大但信息却不完整的检索服务,比如求职者在百度中搜索“招聘英语教师”,会有部分的英语教师职位,但是结果中很多职位都已经过期,有的甚至是一年前甚至更久的职位信息,对于招聘这样的时效性非常高的信息,百度这样的搜索引擎明显不能满足用户需求。因此,用户需求和市场服务间的巨大反差产生了强大的“搜索噪音,人们呼唤更有针对性的搜索引擎,垂直搜索引擎应运而生。

垂直搜索是针对某一行业的专业搜索引擎,是搜索引擎的细化和延伸,是对网页库内的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。相对于通用搜索引擎的信息量大、查询不准确、深度不够等局限性,它是针对某一特定人群、某一特定领域或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”,且具有行业色彩。因此,近几年垂直搜索引擎迅速发展,如面向医药行业的中国用药安全网、房产行业的搜房网、IT行业的赛迪网等垂直搜索引擎层出不穷,有权威人士认为,垂直搜索引擎将是未来主流的搜索引擎系统。

2.2 垂直搜索引擎的关键技术

2.2.1 网络爬虫技术

网络爬虫即Web Spider,它是一个自动抓取网页的程序,为搜索引擎从互联网上爬取网页,是搜索引擎的重要组成部分。

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定条件才停止。垂直搜索爬虫的工作流程就比较复杂,需要根据一定的网页分析算法过滤掉与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。在抓取网页时,网络爬虫一般有两种策略:广度优先和深度优先。广度优先是指网络爬虫会先抓取起始网页中所有的链接网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络爬虫并行处理,提高其抓取速度。深度优先是指网络爬虫从起始页开始,一个链接一个链接地跟踪下去,处理完这条线路之后再转入下一起始页,继续跟踪链接。这一方法的优点是网络爬虫在设计时比较容易。

另外,所有被爬虫抓取的网页将会被系统存储,进行一定的分析、过滤,并建立索引。搜索引擎建立网页索引时,处理的对象是文本文件。而对于网络爬虫来说,其抓取的对象有多种格式,如html、图片、doc、pdf、多媒体等。这些文件被抓取后,需要把其中的文本信息提取出来。准确的提取这些文档信息,一是对搜索的准确性有重要作用,二是对网络爬虫正确跟踪其它链接也有一定的影响。网络爬虫在搜索引擎中占有重要的位置,对搜索引擎的查准、查全都有影响,决定了搜索引擎数据容量的大小。同时,它的好坏还直接影响到搜索结果页中死链接的个数。

2.2.2 网页信息抽取技术

Web信息抽取是将Web作为信息源的一类,从Web页面中所包含的无结构或半结构的信息中识别用户感兴趣的信息,并将其转化为更为结构化,语义更为清晰的格式。输入信息抽取系统的是原始文本,输出的是固定格式的信息点,这样就为用户在Web中查询数据、应用程序直接利用Web中的数据提供便利。

现有的Web信息抽取方法有:(1)基于自然语言处理的方式:具体说来就是把文本分割成多个句子,对每个句子的句子成分进行标记,然后将分析好的句子语法结构和事先定制的语言规则匹配,获得句子的内容即抽取信息,规则可由人工编制,也可自动学习获取。(2)基于包装器归纳的方式:主要是用归纳式学习方法生成抽取规则。用户在一系列网页中标记出需要抽取的数据,系统在这些例子的基础上归纳出规则。这些规则精确度的高低取决于例子的质量如何。如果能代表那些需要处理的网页,这些例子就是高质量的。(3)基于HTML结构的信息抽取:它的特点是,根据Web页面的结构定位信息。在信息抽取前通过解析器将Web文档解析成语法树,通过自动或半自动的方式产生抽取规则,把信息抽取转化为对语法树的操作来实现信息抽取。

随着电子技术与电子商务的发展和应用,Web半结构化数据的抽取技术具有越来越重要的理论和现实意义。

2.2.3 中文分词技术

在Web应用中,文本处理的速度往往是性能的关键,快速分词具有很大的现实意义。Web文本分词是Web信息处理的基础,如信息检索、摘要形成、网页过滤等都需要对Web文本进行分词处理。Web文本的正文主要是由英文和中文构成,由于英文的单词与单词之间有空格,所以不存在分词问题。而中文的每一句中词与词之间是没有空格的,因而必须采用某种技术将其分开。

对于中文网页,首要的就是进行中文分词,这样才能便于索引文件的建立。分词的准确性对搜索引擎来说十分重要,但如果分词速度太慢,即使准确性再高,对于搜索引擎来说也是不可用的。因为搜索引擎需要处理数以亿计的网页,如果分词时过长,便会严重影响搜索引擎内容更新的速度。这就需要在分词速度与准确度之间找到一个折中。另外在现实网络世界中新词层出不穷,有的又是昙花一现,有效地识别网络新词汇也是一个难题。而垂直搜索引擎的词典也需要行业特色,比如医学搜索就需要包括医学专用词汇。

分词的方法很多,基本上分为两类:第一类是基于字符串的匹配:将汉字串与一个机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。主要有正向最大匹配法、逆向最大匹配法、最少切分等方法。第二类是基于统计的方法:从概率角度出发,单字出现在词汇中联合概率是比较大的,因此当相邻的字越常出现,则越有可能是一个词。基于上述引,对处理的材料进行分析,得到相应的单字出现的概率,然后对相邻的字出现概率进行统计,若远大于单字出现的概率之和,则可能成为一个词。实际应用中,统计分词方法都是与字典结合着来使用的,这样既发挥匹配分词的切分速度快、效率高的特点,对利用了无词典结合上下文识别生词,并能消除歧义等优点。

3 结语

垂直搜索引擎因针对性强、目标明确和查准率高而成为获取专业信息的重要工具,也是目前信息市场和用户需求的共同呼唤,其作用和功能是通用搜索引擎不可替代的。可以预见,垂直搜索引擎将会更加流行,同时对人们网络生活的方方面面也将产生更为深刻的影响。

参考文献

[1]肖冬梅.垂直搜索引擎研究[J].图书馆学研究,2003,(2).

[2]李副铭.垂直搜索引擎的研究与设计[D].电子科技大学, 2009.

[3]刘世涛.简析搜索引擎中网络爬虫的搜索策略[J].阜阳师范学院学报,2006,(9):60-61.