计算机爬虫技术范文

时间:2023-09-14 17:51:23

导语:如何才能写好一篇计算机爬虫技术,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

计算机爬虫技术

篇1

关键词:ID3算法 深度网络 爬虫算法

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2015)03-0114-01

1 引言

随着互联网的飞速发展,信息的产生量以爆炸式的速度增长,互联网已经成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。经过大量的研究表明,目前互联网上存在着很多网页是不能够通过超级链接的设置而进行访问的。有很多深度位置的网页便成为了引擎搜索的盲区,搜索用户必须要使用一些特殊的关键词查询才能够访问到这些深度网页。其主要的原因在于,使用常规的引擎搜索手段不能有效的模仿用户进行各种类型的表单查询,这些页面无法通过收集和索引操作来完成,不能够存在用户的搜索列表中。常规的爬虫算法主要依靠网页上的超级连接进行网页的查询和下载,这种普通搜索无法对深度网页进行索引以及查询。本文探讨一种按照ID3算法分类的深度网络爬虫设计方法,能够分析网页和表单的具体特征,并且将其分类,以适当的数据形式提交给服务器,从而挖掘出深度网页。

2 传统网络爬虫算法存在的问题

一般来说,搜索引擎是由索引器、用户界面以及网络爬虫等核心组件构成。然而,网络爬虫的设计方法是搜索引擎的核心技术。网络爬虫的功能是搜寻互联网中的信息,传统的方法是从一组连接地址开始,使用爬虫算法利用宽度和深度遍历的方式搜索以及下载网页信息。当今互联网中信息量呈现爆炸式增长,因此,爬虫算法会漏检很多信息,这就导致了网络爬虫的低信息覆盖率的问题,最终导致很多有价值的网页无法被搜索到。原因如:

(1)互联网规模不断的扩大,每天产生大量的信息,由此不断的产生新的网页,面临海量的新生成的网页,网络爬虫的耗费的时间代价过高,因此无法达到很高的网页搜索覆盖率。

(2)传统的网络爬虫算法只能通过超级连接来发现并搜索网页,假如某个网页没有超级链接的指向,则该页面不会被收集到。

3 ID3分类算法的深度网络爬虫设计方法

针对上述传统网络爬虫算法的不足,本文探讨了一种能够发现和收集深度网页的爬虫算法。该方法针对深度网页的特征,构造适当的表参参数进行搜索引擎的提交,从而得到更多的网页。图1表示了深度网页爬虫算法的流程。

深度网络爬虫算法按照网页特征将其分为三类,第一类为验证页面,第二类为列表页面第三类为其他类型。本文使用了ID3决策树的算法将网页表单进行训练学习,最终得到适合的决策树。在数据挖掘领域,决策树是一种非常有效的数据方法,ID3算法是将信息论融合进决策树中,将训练实例分类之后构造决策树。ID3算法最终目的是生成决策树以便对应将输入实例进行很好的分类。

本文将训练集合定义为X,ID3算法将其分为m类,令集合A为属性集合。令第i类的训练实例数量记为Xi,总数为T。则训练实例在第i类的概率为P(Xi)=Xi/T。对集合X进行分类的不确定程度为。假如对属性A进行测试,A的集合中的aj属于该类的个数为Cij/Y,Y为总实例个数。通过上述参数进行信息熵增益的计算,能够测试属性A是否为最优的分类节点。信息增益的值越大说明属性值A对决策分类结果提供的信息量越大,得到的结果更加稳定。最后获取信息增益值最大的几点作为决策树的最优节点。例如,利用ID3算法分类的深度网络爬虫算法,能够根据互联网页面表单中的特定值进行表单特征的标记。比如表单中的文本框的标签名称为text,密码输入框中的类型值为password,以此信息可以标记该表单为登录用途而不是查询界面。

4 结语

本文首先阐述了当前互联网飞速发展,信息量大量产生对搜索引擎的挑战,并从网络信息覆盖率以及搜索方式两个方面指出传统网络爬虫算法的现状和问题产生原因,最后从深度网络爬虫的流程体系和ID3算法决策树的分类详尽阐述ID3算法分类的深度网络爬虫设计方法。

参考文献

[1]赵朋朋,崔志明,高岭,仲华.关于Deep Web网络爬虫算法以及网络的规模分布和结构[J].小型微型计算机系统,2007(10):98-101.

[2]曹强.基于网络爬虫Lucene的Web站点站内全文检索系统的设计与实现[J].图书情报工作,2007(09):87-99.

[3]方巍,胡鹏昱,赵朋朋,崔志明.基于语义的网络爬虫Deep Web数据源自动发现技术[J].微电子学与计算机,2007(09):221-223.

[4]李静静,闫宏飞.中文网页信息检索测试集的构建、分析及应用[J].中文信息学报,2008(01):32-39.

篇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

1.1分级法

通过将互联网上的信息按照一定标准进行分级、分类,然后根据各自的级别采用针对性的处置措施的网络信息管理方法称之为分级法。纳入分级体系的网页都会得到一个分级标记,当用户访问该网页时将其与过滤模板进行比较进而选址处置方案。

1.2依据URL的站点过滤技术

和分级法不同的是,站点过滤技术采用的是以站点为监测对象。该方法的前置要件是要有一个不良站点列表。系统通过对比用户访问站点的URL和列表中站点进行对比来决定是否过滤。因此,不良站点列表越齐全、越准确,那么该方法的执行效率和质量也就越高。基于URL的站点过滤技术是当前主流互联网不良信息监测方法,广泛应用于国内、外的网络信息过滤产品中。使用该方法,重点是对不良站点列表的维护和整理。

1.3依据内容关键字的过滤技术

该项技术是人工智能技术在网络管理方面的一个重要应用。由于单纯对比关键字而忽视语境、语义的影响,使得关键字过滤技术的错误率较高,严重影响用户上网体验。因此,通过应用人工智能技术将语义分析引入网络信息关键字过滤工作中,以提高分析判断精度。但该技术缺陷也较为明显,主要是实行效果和人工智能技术水平直接相关。由于当前人工智能技术还不够完善,用户不能自定义问题判定标准。所以该方法在实际工作中产品较少,主要应用于某些特定领域,同时需要消耗大量计算机资源。

1.4其他信息过滤的方法

除了上述方法外,下面两种方法也较为常用。一个是图像识别技术。该技术以图像的色彩、深浅、形状和彼此间的位置关系为对比要素,将用户访问的图像和数据库中的标准图像进行对比,根据二者间的相似度决定目标图像的处理方案。由于图像描述精确程度较低,在应用过程中会造成一定程度的误判,实际使用效果水平不高,有待继续开发。二是动态跟踪技术。该技术通过对用户访问网络情况的跟踪记录,实现对用户上网行为的全程监控,并以此为依据改进信息监控、过滤相关方案。记录的内容包括访问的时间、网页、流量、出错情况、屏幕快照、过滤原因、网页所属类目、关键词等内容。

2不良信息监测系统主要应用技术

2.1爬虫技术

顾名思义,爬虫技术就是利用半自动程序对互联网上网页信息进行采集,由于其情形如同爬虫在物体上爬行一般,所以将这种程序称之为爬虫。爬虫程序在启动时,需要一个初始链接,如同爬虫爬行的出发点,其后爬虫程序进入自动运行,自动决策其“旅行”路线,这也是爬虫程序半自动化的主要特征。爬虫程序会对起始页面进行扫描,经由页面中包含的链接访问其他页面,然后再对新页面的链接进行扫描,从而去往下一个页面。单纯从理论而言,只要条件允许,爬虫程序访问到互联网上所有页面。这是因为互联网上的页面彼此间或多或少都会有链接存在。爬虫技术的优点是通过爬虫程序的自动运行,可以通过获取URL最大限度的对网页、网站上的各类信息,比如文本、图片和音频、视频等进行下载分析,从而达到主动监控网站的目的。但由于该技术依赖爬虫程序的正常有效运行,一旦网站环境采用对爬虫程序进行限制的技术,比如用户验证码、反爬虫技术等,其监测效果就会大幅下降。

2.2网络协议解析技术

该技术是建立在网络协议采用层次开发方式的基础上的。网络协议在开发过程中,每一层开发都有其特定的开发目的。网络协议技术就是针对互联网网络层和应用层中涉及的各类协议进行分析,进而处置的技术。监控系统对数据网出口电路的网络流量数据进行采集,并采用报文重组、协议规则分析等技术手段对信息进行分析,判断其安全合法性,以此为基础开展监控工作。实施该技术需要配套使用协议还原设备,以达到解析还原、审核网络中上下行数据内容的目的。该技术应用范围较广,可以用于网页、彩信、文件传输、邮件等多种业务内容的信息监测。但受监控工作运作机理所限,只能采用被动的监控模式,同时,监控行为对协议解析设备依赖性较大,不同设备间不能通用。

3移动网络不良信息监测系统功能简介

CMNET网络是移动互联网的主要架构形式,当用户使用移动终端对移动互联网进行访问时,监控系统对用户访问和传递的信息进行采集和监测,并按照一定标准进行对比、筛选,从中选出不良内容。筛选过程包括系统自动筛选和人工筛选两个环节,这种筛选方法既保证筛选速度又保证筛选质量。对于最终确定的不良信息,将其所属网站的URL列入黑名单,在依照黑名单进行封堵处理,阻止用户对其访问。不良信息监测系统采用中央、大区、前端采集三级架构体系,首先由前端采集点进行信息采集,信息报送至大区设备进行分析、判断,再由将所获取的不良网站URL及IP地址相关信息以黑名单形式汇总之中央设备。中央设备收到各大区设备报送的黑名单后进行汇总和除重作业,形成全网范围的黑名单,将其提交给流控系统,由其进行封堵。需要注意的是,如果有网站需要解封处理,也要由中央设备提交名单给流控系统进行解封作业。

4结束语

篇4

关键词: 维基百科; 文本相关性; 链接分析; 相似度计算

中图分类号: TN911?34; TP391.4 文献标识码: A 文章编号: 1004?373X(2014)20?0035?03

Topic crawling strategies based on Wikipedia and analysis of web?page similarity

LUAN Xia1, ZHAO Xiao?nan2

(1. The Network Center, 323rd Hospital of Chinese People’s Liberation Army, Xi’an 710054, China; 2. Unit 68303 of PLA, Wuwei 733000, China)

Abstract: To overcome the weakness existing in the present topic crawling strategies, a topic crawling strategy based on Wikipedia and web?page similarity analysis is put forward in this paper. The Wikipedia classification tree structure is utilized to describe the topics, and then the downloaded webs are properly handled. Finally, the priorities of the candidate links are calculated in combination with text relativity and analysis of Web links. The experimental result indicates that this new method is better than the traditional crawler in terms of searching results and topic relativity, and its climb rate has been increased. The theme description method and the crawl strategy have a certain promotion value, especially in the field of genetically modified organisms, the crawler has certain innovativeness.

Keywords: topic crawling; Wikipedia; text relativity; link analysis; similarity calculation

0 引 言

近年来随着因特网技术的发展与普及,网络上的信息量越来越大,如何高效地从网络上获得有用的资源变得至关重要。主题爬行器是解决这一问题的技术之一,它是在预定主题的指引下,在网络上选择与主题相关的网页进行爬取,并避免了非相关的网页[1]。传统的爬行策略大多都是通过与关键词机械的匹配,Ehrig等人把本体引入到主题爬行中[2],利用本体代替了关键词,利用本体中的词汇层次关系计算出网页的主题相关度,但本体的描述方法过于复杂,直接影响了使用效率。在计算网页相关性上,传统主题爬行策略主要有两类:基于网页内容的搜索策略、基于Web链接评价的搜索策略。基于网页内容的搜索策略是对文本中的相似度进行计算,根据相似度确定URL优先级;基于Web链接评价的搜索策略是根据Web页面之间的相互引用关系来确定网页的相似度,从而确定URL优先级队列。基于网页内容的搜索策略虽然简单但忽略了链接结构信息,所以不能很好的预测链接价值;而基于Web链接评价的搜索策略只考虑了网页之间的相互引用,但忽略了页面与主题的相关性,容易出现“出题漂移”的问题[3],因此不适合挖掘主题资源。本文在综合考虑以上问题的基础上,设计了一种新的主题爬行策略,首先通过维基百科对主题进行描述;对下载的网页进行处理后,综合基于网页内容和Web链接分析来确定URL的优先级。

1 主题爬行策略设计

本文综合维基百科、网页内容和Web链接的方法来设计主题爬行策略,新策略的处理流程图如图1所示。

1.1 基于维基百科的主题描述

在主题爬虫中如果对主题描述太为广泛就会导致搜索的网页量大而相关性就小;如果太具体就会限制爬行范围,虽然搜索的网页相关度高,但是会减少数量[4]。而维基百科[5]是一个动态的、可自由访问和编辑的全球最大的Web知识库。维基百科对其中的每个概念都给出了对应的描述文档,并以分类树[6]的形式组织在一起。分类树中上层为较泛化的概念,下层为较细化的概念。

图1 爬行策略流程图

本文通过维基百科的主题向量来描述主题,约束爬取范围,具体方法为:

(1) 完善分类树。维基百科中对属于某概念的部分下层概念并不收录进分类树中,而出现在描述文档中,这样就导致了分类树不完整,从而影响相关度计算。本文将这些概念提取出来,并加入到分类树中。例如,将出现在“转基因”描述文档中的“遗传工程”加入到“转基因”的分类树中。

(2) 从分类树中提取概念p向上一层的概念集合[Cup]和向下N层概念的集合[Cdown],组成p的相关概念集合(Relevant Concept Mass,RCM),即[RCMp=Cup?Cdown? p] 。

(3) 对概念p的相关概念集合 中的每个概念[RCMp={c1,c2,…,ci,…,cm}m>0]计算权重 (0

(4) 将主题描述文档经过分词和去除排除词汇后映射到 [VSp]上,即将词语映射到[RCMp]中存在并且在分类树中距离主题概念p最近的概念上,然后统计[VSp]中每个概念在主题描述文档中出现的频率(f),最终计算主题向量T:

[T=wi×fi]

式中:[fi]等于属于[ci]的词的频率之和。

1.2 网页主题相关性计算

主题相关性的计算准确与否直接影响了主题爬行器的性能。本文将下载的网页进行分块后,利用改进的Shark[7]启发式搜索算法,根据爬行过的网页内容和Web链接信息来计算待爬行网页队列中的URL优先级。

1.2.1 网页内容评价

本文设计两个队列来存放待爬行的URL,分别为相关度高的优先队列PQ(Prior Queue)和相关度低的普通队列NQ(Normal Queue);设计三类阈值来决定待爬行URL属于哪个队列,分别为页面内容阈值上限pageMaxLimit、页面阈值下限pageMinLimit,节点阈值上限nodeMaxLimit、节点阈值下限nodeMinLimit,锚文本的相关度阈值anchorLimit。其中,节点阈值上限即是PQ的最低相关度值,节点阈值下限即是NQ的最低相关度值。而网页和关键词的相似度计算仍采用向量空间模型,计算公式如下:

[simp,k=cosp,k=i=1nwij*wiqi=1nw2ij*i=1nw2iq]

式中:p指当前页面;k指主题;页面内容向量[p=w1q,w2q,…,wnq];主题向量[k=w1j,w2j,…,wnj];[w1j]指关键词i在页面j中的权值;[wiq]指关键词i的权值。

根据相关度可以将待爬URL放入相应的队列中,若一个页面的主题相关度大于pageMaxLimit,则将该页面的子页面放入PQ队列中;若一个页面的主题相关度值介于pageMaxLimit和pageMinLimit之间,则根据该页面的子页面的锚文字或URL字符串是否包含关键词向量中的关键词来决定是否将其加入到PQ中,如果满足任何一个条件,则将其加入到PQ中;否则由子节点的相关度值来决定加入队列的类型。

1.2.2 Web链接评价

本文采用Hits[8]算法思想来进行Web链接评价。Hits算法由Kleinberg首先提出,用来判断网页重要性,目前主要用于搜索结果排序。该算法思想是如果一个网页被其他多个网页链接,则比其他链接少的页面重要。因此引入权威(Authority)页面和中心(Hub)页面的概念。即好的Hub页面总是指向许多好的Authority页面;反之,好的Authotirty页面总是被许多好的Hub页面所链接。因此,这种相互加强的关系可以用于发现Authority页面。算法首先利用爬虫从Web上获取与用户查询相关的部分网页构成网络子图G(V,E)(V为网络子图的节点集,E为网络子图的边集),然后通过迭代计算出每个网页的权威值和中心值,迭代步骤如下:

(1) 确定与主题最相关的K(200)个页面,称为root集。

(2) 对于root集中的任一网页p,将p中所包含的链接加入到root集中,最多不超过d(50)个,扩展后称为base集。

(3) 计算base集中每个页面的中心值和权威值,计算方法如下:如果G中有n个节点,则有n维向量a,h,[ai]指节点i的权威值、[hi]指节点i的中心值,设[a0=1],[h0=1],然后进行迭代运算:

[ai=i∈Vhi-1, hi=i∈Vai-1]

1.2.3 改进的优先级计算

由于基于内容评价的策略忽略了链接结构信息,在预测链接价值方面存在不足;而Hits算法只考虑了Web页面之间的引用关系,忽略了页面的主题相关性,容易造成主题漂移现象。为了克服二者的不足,本文设计了基于主题敏感的链接分析方法,称为主题Hits。对于中心Hub页面只有当所指网页为主题相关时才能获得相应值,该值由所指页面的Authority值和其主题相关度决定;而Hub值由其链接到的页面的主题相关度决定。因此迭代公式如下:

[ai=i,k∈VPi-1tik=1Pjtoi-1khi-1hi=i∈V&ti-1≥thrai-1×ti-1]

式中:[ti]指网页i的主题相关度;thr为相似度阈值;[Pi]指网页i的链接个数;[oi-1k]指网页i-1的第k个链接所指的网页编号。

2 实验与分析

系统选用Java语言在Eclipse平台下开发。实验环境为微机1台,CPU为Intel Core 2,内存1 GB。软件环境为Windows XP和JDK1.6,选IIS 6.0为Internet为信息服务,数据库选用MySQL。系统选用转基因生物为主题,运行时初始种子网页包括乌有之乡,天涯网:天涯杂谈、经济论坛,凤凰网:辩论会、铿锵杂谈,新华网:发展论坛,人民网:强国论坛,百度贴吧,中华网论坛,腾讯论坛,网易论坛,新浪论坛,搜狐论坛;主要门户网站新闻及相关转载情况,主要门户网站:雅虎、搜狐、新浪、网易、腾讯等。关注人物包括: 金薇(国际先驱报)、张宏良、蒋高明、顾秀林、 郎咸平。根据上述内容,设计了一个主题爬虫,将三种爬行策略进行对比,图2是对比结果,其中,查准率=主题相关的网页数/总网页数。

图2 结果对比

上面的分析可知,新的爬行策略在查询特定主题信息方面比传统的爬行技术有着明显的优势,随着网页数量的增大,新的策略在总体上也存在优势。算法中各种参数的设置和阈值的选择对爬行结果有重要的影响,因此如何确定最有利的参数和阈值有待于进一步研究。

3 结 语

本文研究了主题爬虫中爬虫策略的选取,主要包括对关键字向量的描述、网页优先级计算,设计并实现了一个通用的主题爬虫爬行策略,实验表明本文的方法取得了良好的效果,具有较大的应用价值。

参考文献

[1] 蔡号,贾于波,黄成伟,等.Web日志挖掘中的会话识别算法[J].计算机工程与设计,2009,30(6):1321?1324.

[2] 戴智利,王鑫昱.一种基于动态时间阈值的会话识别方法[J].计算机应用与软件,2010,27(2):244?246.

[3] AGGARWAL C C, AL?GARAWI, YU P S. Intelligent crawling on the world wide Web with arbitrary predicates [C]// Proceedings of the 10th International Conference on World Wide Web. New York: ACM, 2001: 89?113.

[4] 史天艺,李明禄.基于维基百科的自动词义消歧方法[J].计算机工程,2009,35(18):62?65.

[5] Anon. Wikipedia [EB/OL]. [2011?02?16]. http://.

[6] 赵飞,周涛,张良,等.维基百科研究综述[J].电子科技大学学报,2010,39(3):321?334.

篇5

下面就是我学习新课标后设计的义务教育课程标准教科书(北师大版)八年级上册第3章第6节《简单的图案设计》一课。

一、创设情境,提出问题

(画面1:在电影《音乐之声》中《雪绒花》的背景音乐衬托下,播放大雪纷飞的影片,画面的右下角有一个大大的单个雪花的图案。)

(画面2:以六边形蜂巢为背景,忙碌着的蜜蜂飞来飞去,画面的右下角有一个大大的单个六边形的蜂房。)

(画面3:北京科技馆中的“三叶纽结”。)

师:以上无论是大自然的鬼斧神工还是人类的文明造化,给我们带来了美的享受的同时还启迪我们:一些简单的几何图形通过轴对称、平移、旋转可以变得如此美丽。此时此刻同学们心中是否涌动着创作的激情,让我们拿起手中的画笔,来设计出最新最美的图画。出示课题:《简单的图案设计》。

二、温故知新,解决问题

画面4,5,6:分别由平移、旋转、轴对称构成的三组简单图案(每组8个图案)。

师:以上的图案都是几何图形由一种变换得到的,如果把两种或三种变换结合起来又会出现怎样的图案呢?

画面7:课本上的例题:欣赏如图的图案,并分析这个图案形成的过程。让我们先来分析这个图形的形成过程。学生分小组进行观察、分析、讨论。

教师参与学生活动,在小组交流的基础上,全班进行交流,通过集思广益、互相启发,一步一步地引导学生得出如下结论:此图案是由三个“基本图案”组成的,它们分别是三种不同颜色的“爬虫”,同色的“爬虫”之间是平移关系,它们可以通过其中一只经过平移而得到;相邻的不同色的“爬虫”之间可以通过旋转得到,其中旋转角度为120°,旋转中心为“爬虫”头上、腿上或脚趾上的一点。这时学生的感觉是这幅画太奇妙了,它的作者是谁?这幅画是荷兰画家埃舍尔创作的。

有兴趣的同学可以上网查阅他的其他情况。教师提供一个网站的地址:www2.省略/new/PublicForum/Content.asp?idWriter=0&Key=0&strItem=no04&idArticle=196659&flag=1(目的是:满足不同学生的学习需要,让不同的学生有不同程度的提高。)

三、欣赏实践,合作交流

教师出示范例,一幅是一些四边形通过平移得到的一座楼房的图案,设计意图是“万丈高楼平地起”;一幅是以一些三角形通过平移和轴对称或平移和旋转得到的一组小鱼和小鸟组成的图案,设计意图是“海阔凭鱼跃,天高任鸟飞”。下面请同学们以小组为单位进行简单的图案设计并简单地叙述你的设计意图。教师组织学生展示作品,叙述意图。

师:通过设计图案,同学们已经掌握了设计方法,但制作过程较为繁杂,能否用计算机进行图案设计呢?

四、个性学习,自主发展

教师请同学们学习教材上的阅读材料:“在计算机上进行平移、旋转、轴对称”。(目的是:将现代信息技术与数学教学相结合,在学习内容上设置了几种不同的应用软件,体现了一定的弹性,满足了不同学生的数学学习需求,在全体学生获得必要发展的前提下,使不同的学生可以获得不同的体验。)

五、回顾反思,畅谈收获

回顾一节课的教学过程,反思自己在课堂上的表现,有哪些成功的经验?有哪些不足?以便在今后的学习中发扬和改进。

六、布置作业,学习延伸

篇6

关键词: 藏文编码; 搜索引擎; 倒排索引; 网页爬虫

中图分类号:TP393.4 文献标志码:A 文章编号:1006-8228(2017)06-22-04

Research on key technologies of Tibetan web search

Zhang Yunyang

(Library of Tibet University, Lhasa, Tibet 850000, China)

Abstract: Through analyzing the characteristics of the Tibetan characters' coding in Tibetan website, and introducing the characteristics of the search engine, this paper studies the key technologies of Tibetan web search. The technologies of URL processing, the qualified crawler, inverted index, words' retrieval, sorting for results and the others for Tibetan web are discussed in detail. This paper proposes a relatively complete method for Tibetan web search, which has certain practical value for Tibetan web's information search and use.

Key words: Tibetan coding; search engine; inverted index; Web crawler

0 引言

藏族是我民族大家庭的重要成员,藏语言文字是藏族同胞在日常工作/生活中广泛使用的文字。几千年以来,藏文字作为信息文化的传播载体,对于传承藏民族传统文化、传播现代科技知识和促进地区经济的发展都发挥着重要的作用。在计算机世界中,藏文字区别于汉字和英文的最主要特征是字符编码,目前国内网站多数使用GBK编码存储信息,使用基于GBK的字体显示文字。而目前的藏文网站,为了方便兼容和统一检索,主要使用基于国际标准编码的Microsoft Himalaya字体和珠穆朗玛系列字体。

1 藏文网站字符编码技术

藏文在计算机和国际互联网的使用,在输入法和字体方面采用基于Unicode字符集的方法较为合理,方便信息共享,方便藏文广泛交流。互联网世界的藏文网站和网页,现在都倾向于使用基于Unicode的藏文字体。

通过对国内比较著名的藏文网站源码分析发现,主要的藏文网站均采用utf-8编码,即藏文字符采用国际标准编码Unicode字符集,而藏文字体采用基于Unicode的珠穆朗玛系列字体和 Microsoft Himalaya字体。国内部分藏文网站和网站的字符编码及字体分析如下。

2 网页URL处理

2.1 URL简述

URI:Universal Resource Identifier,通用资源标志符。URI通常由三个部分组成:访问资源的命名机制,存放资源的主机名,资源自身的名称[1]。

URL是URI的一个子集,它是Uniform Resource Locator的缩写,译为“统一资源定位符”,即通常说的网址。URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。采用URL可以用统一的格式来描述各种信息资源,包括文件、服务器地址和目录等[2]。URL的格式由三部分组成:第一部分是协议(或称为服务方式);第二部分是存有该资源的主机IP地址(有时也包括端口号);第三部分是主机资源的具体地址,如目录和文件名等。

2.2 URL处理流程

网页搜索并不是对实时的网站信息进行检索,在用户提交检索提问词后,实际上是转入搜索引擎的索引数据库检索,这些索引数据库通常是由网络搜索引擎的爬虫进行采集、更新从而建立起来的。爬虫最主要的处理对象是URL,它根据URL地址取得所需要的文件内容,然后对它进一步处理,网页爬虫URL处理流程如图2所示。

3 藏文网页爬虫

3.1 爬虫“黑洞”

爬虫在搜集藏文网页的过程中,必须考虑可能出现的“黑洞”情况。爬虫黑洞是指,在抓取一张网页的链接时,链接本身是一个无限循环,导致爬虫抓取时跟着循环,浪费资源。有时一些URL看起来不同,但实际指向同一张网页,也会使爬虫陷入重复抓取的境地。

为了避免爬虫误入黑洞,一般采取两种策略。一是爬虫回避动态网页,因为动态网页常常会把爬虫带入黑洞。识别动态网页时,只需要判断URL中是否出现问题,含问号的就是动态网页。二是使用Visited表记录已经访问过的URL,凡是遇到新的URL存在于Visited表,就放弃对该URL的继续处理。例如:当遇到abcdce这样的环路链接,爬虫就会掉进去,反复抓取c、d对应的页面。使用Visited表,就能避免这个问题。

3.2 限定爬虫

藏文网页搜索使用的爬虫,是一种限定爬虫,在爬虫的功能定位上只抓取藏文的网页,本质是对网页文本所用语言的限定。藏文网页的限定爬虫,表面上是限定语言,具体操作层面需要通过限定IP、限定URL、限定charset来实现。

限定爬虫就是对爬虫所爬取的主机的范围做一些限制,通常,限定爬虫包含以下几个方面[3]:①限定域名的爬虫。比如,只抓取结尾的域名;②限定爬取层数的爬虫。比如,限定只抓取2层的数据;③限定IP的抓取。比如,只抓取自治区内的IP;④限定语言的抓取。比如,只抓取中文汉字页面。

抓取藏文网页一方面要设计限定爬虫,另一方面建立动态更新的藏文网站域名库、藏文网站主机IP库,配合限定爬虫工作。目前已有部分藏文网站在页面中加入了标记,如中国藏学网采用的是,IT网采用的是,琼迈藏族文学网采用的是。可以根据网页代码中的标记来识别判断藏文网站。藏文网站域名库和藏文网站主机IP库,需要人工操作,人为添加一些地址,这方面参照现在互联网广泛使用的“纯真IP数据库”实现。

3.3 藏文网页倒排索引

藏文网页倒排索引的建立流程如下。

第一步:抽取网页正文。网页正文是相对网页噪声而言。当今的互联网网页上,页面的很多篇幅用在广告、搜索推荐和其他链接上。网页搜索工具关注的是网页本身要表达的信息,所以在通过爬虫获取到页面源码之后,要去除那些与本文无关的噪声,抽取到网页正文。

第二步:分字。藏文文字区别于汉文,汉文是一个字使用一个编码,而藏文是对组成字的基字编码,一个完整的藏文字可能存在多个编码,这些编码按组成藏文字的方法顺序排列。藏文的分字通过藏文字分隔符 ‘ ’ 来实现,如这段藏文字,中间有四个分隔符,句末有一个断句符。在分字过程中,需要去掉一些无实际意义的字和符号,只留下有明确表意的字进行网页的检索。

第三步:对全文以字建索引。以字建索引,虽然检索过程的匹配计算量会更大,但考虑到目前藏文网页总体数量不大,应该是一种可行的提高查全率的办法。根据上一步得到的字,记录每个字在文中出现的位置,计算每个字出现的次数,建立链表。位置用于检索时的准确定位,次数用于计算字对文档的重要性,也用于相关性排序计算。

第四步:对标题建索引。大部分的Web文档有文档标题TITLE,标题反映了文档的主要内容,是搜索和导航的重要依据。标题索引以词、短语或句子为索引单位,具体根据词表匹配情况确定,如果标题匹配词表中的规范词则使用规范词,如果没有则直接以标题建索引。藏文规范词表是动态更新的。检索时以匹配标题索引为优先策略,先查询标题索引库,再查询全文索引库。

第五步:索引旄新。网站的页面信息是动态更新的,由网络爬虫抓取得到的藏文网页倒排索引库也需要更新。搜索引擎的倒排索引更新有多种方式,包括修改更新、覆盖更新和添加更新。鉴于目前上线的藏文网站数量少,网络爬虫工作周期短,藏文网页的倒排索引库更新可以采取添加更新加覆盖更新的策略。每次爬虫工作完成后,建立新的索引库,将查询引擎链接指向新的索引库,同时保留近两期的索引库,将更早的索引库删除。每次添加新的索引库后,先将之前近两期的索引库保留一段时间备用。

4 检索

藏文网页搜索工具为用户提供检索藏文网页信息,先根据用户提交的检索提问标识,去匹配索引库中的网页信息标引标识[4],然后将匹配上的结果按相关系数降序排列,匹配出的每一项条目直接指向网页源地址,同时在结果页显示每条结果的网页快照,以高亮显示匹配字符。

4.1 检索词审阅

我国于2004年和2008年先后通过的《藏文编码字符集扩充集A》、《藏文编码字符集扩充集B》两套国家标准,收录藏文字符7205个,包括现代藏文、古藏文和梵音转写的藏文字符,藏文覆盖率达到99.99%[5]。在藏文网页搜索过程中,有必要对用户输入的藏文字进行拼写检查,确认输入的每个字是正确的藏文字。将这两套国家标准收录的藏文字逐一列出,查出对应的国际编码,建立藏文国际编码字表,在用户输入检索词时使用此表来进行文字审阅。

4.2 文字匹配

藏文网页搜索,实质是将用户输入的检索提问标识与索引库中的网页标引标识进行比对,找出匹配的条目。现有的字符编码体系,对汉字是以整字编码,如“汉”的GBK编码是“BABA”,“汉”的unicode编码是“6C49”;藏文字是对构成字的每个构件进行编码,因此一个藏文字的编码实际是由一个或多个构件的性,藏文字符匹配相对汉文和英文需要更大的计算量,比对一个字实际需要比对多个编码。

文字匹配采取精确匹配和模糊匹配两种策略。优先采用精确匹配,将理论上最相关的结果反馈给检索用户。如果精确匹配命中条目很少或者没有命中条目,采取模糊匹配策略,将近似相关的结果反馈给检索用户。精确匹配是找出完全包含检索词的结果集,模糊匹配是找出语义上近似的相关结果集。应用检索理论中的缩检与扩检,当命中结果很多时,筛选最相关结果集;当命中结果很少或完全没有时,逐步减小相关系数阈值,或多或少地为用户提供一些近似相关结果集,尽量满足用户的检索需求。

4.3 结果排序

检索结果排序是网页搜索的重要一环,一般的全文检索系统,是按更新时间和点击率对结果集排序,如利用文献管理系统查阅图书时,查询结果根据图书出版时间降序排列,或者根据外借次数降序排列,突出显示热门图书。但是,用户的网页搜索需求不完全是将时效性排在第一位,网页爬虫在抓取网页更新索引时对每个网站的更新周期不一样,等级高的网站被爬取的频次高,等级低的小型网站被爬取的频次低。因此,网页搜索结果不能按网页时间排序,用户普遍更关注的是相关度[6]。

Google等大型搜索引擎使用复杂的PageRank算法进行链接分析,递归地计算网络上的全部站点排名[7]。藏文网页搜索的规模较小,可以采取简单的策略。以检索词的匹配程度作为主列排序,以信息时间作为次列排序,按相关度从大到小排序,相关度相同的按更新日期从晚到早排序。

5 结论

互联网世界的藏文字符已经趋向于使用基于Unicode的字符集和基于utf-8编码的字体,这有利于人们更多地使用藏文进行交流。目前,Google搜索已经开发了针对藏文网页的搜索功能,国内多家单位也正在研发本地化的藏文网页搜索引擎。总体来讲,藏文网页搜索还处在探索阶段,究其原因,主要有三个方面:一是多年来藏文字符编码不统一,一些藏文软件还沿用着基于国家标准的藏文字体,不兼容当前国际标准编码;二是藏文网页/网站数量较少,用藏文记述的文献信息体量巨大,但目前“搬”上网的还很少;三是藏文与汉文的混排、混检技术还处于发展中,最直接的解决办法是平台上的藏文和汉文都使用基于Unicode的字符编码,但会额外增加大量的汉文字符存储开销和网络流量开销,这也是一些大型站点保持使用GBK的原因。目前针对藏文信息处理的研究有很多,我们期待将来藏文在互联网世界更广泛更灵活的应用。

参考文献(References):

[1] 谢玉开.基于JAX-RS的面向资源架构应用研究[D].浙江理

工大学硕士学位论文,2011.

[2] 范剑波.网络数据库技术及应用[M].西安电子科技大学出版

社,2004.

[3] 王娟,吴金鹏.网络爬虫的设计与实现[J].软件导刊,2012.4:

136-137

[4] 王沣.运用信息技术保护莽人语言文化的研究[J]. 科技情报

开发与经济,2014.11:144-145

[5] 普顿.移动电话上实现藏文信息处理的方法研究[D].大

学硕士学位论文,2009.

[6] 吕月娥,李信利.基于信息类别的网页过滤算法[J].福建电脑,

2007.2:99,122

篇7

关键词:FTP;搜索引擎;网络爬虫;索引

中图分类号:TB 文献标识码:A doi:10.19311/ki.1672-3198.2016.06.087

0引言

随着网络的发展,尤其是互联网的全球普及,使互联网上的信息急剧增长,很多个人和企业用户都建立对外开放的FTP服务器,提供了大量的信息供网民下载。如何从这信息的海洋中找到符合用户要求的有用信息,成为一个迫切需要解决的问题。对互联网上各个FTP站点上的资源进行整合汇总,以便快速、准确的了解到各个站点所提供的信息,显得十分必要。在各个FTP站点上的信息源有种类繁多,比如文本、图像、视频和声频文件等等。本设计针对FTP站点提供的信息资源进行爬取和分类,为后期建立索引的方便,对每个站点建立了一个经过初步处理的原始数据文件。

本系统主要是完成了对FTP站点信息的提取和分类,依据用户提供的站点列表、站点扫描范围以及扫描端口号进行扫描。其中对于爬虫模块来说最重要的两个步骤就是FTP站点信息的获取和对数据源的格式组织。

1 FTP搜索引擎爬虫模块介绍

1.1设计思路

任何FTP站点的建立都符合文件传输协议(File Transfer Protocol,FTP),由于FTP协议任务是从一台计算机将文件传输到另外一台计算机,它与这两台计算机所处的位置、连接方式、甚至是否使用相同的操作系统都没有关系。在使用FTP协议对话时,我们都可以使用FTP命令来传输文件。虽然在每种FTP服务器上支持的FTP命令有一些细微的差别,但它们所使用的基本命令结构是相同的,对于标准FTP命令也都支持。因此通过FTP命令获取FTP站点数据应该可行,而且拥有较好的兼容特性。本设计为FTP搜索引擎爬虫模块,所需要获取的数据有资源名称、类型、大小和最后修改时间。可以使用FTP服务器提供的标准命令满足此次设计的需求。

1.2设计步骤

1.2.1扫描站点

按照用户的设置,从众多潜在可访问站点中找出可访问的FTP站点。

1.2.2获取数据

利用FTP命令获取该FTP站点下的文件和目录,并分别记录各个目录下的文件和子目录。

1.2.3数据分类

读取分类号。按照数据类型的编号列表,对不同类型的文件数据标号。以便对数据进行分类。

1.2.4生成源文件

利用步骤(1.2.2)和(1.2.3)中获取的数据建立完整的数据源,并且按约定协议存在指定的目录下。

1.2.5生成站点列表

将可访问的站点存入站点列表中,便于下次扫描使用。

1.2.6建立索引文件

利用源文件建立索引数据库,方便数据的检索操作。

2 FTP搜索引擎概要设计

2.1工作原理

用户对在完成对FTP搜索引擎的爬虫模块配置文件的配置,便可执行爬虫程序。FTP搜索引擎的工作模式大概如下:

(1)爬虫程序会自动生成用户指定IP网段中包含的所有IP地址,对它们逐一进行扫描,已确认哪些站点提供了匿名的FTP服务。

(2)当程序成功登录某个FTP站点之后,程序会自动获取其各级目录下的文件和目录列表,并且会获取各个文件的大小、最后修改时间,最后程序会根据对照表对获取的各个文件进行分类。

(3)在所有操作完成之后,会生成该站点的目录和源文件。在扫描完用户配置的站点之后,扫描成功的站点会写入一个站点列表的文件,以便以后使用。

在索引模块中,会根据爬虫模块获取的数据,进行处理,建立索引数据库。

2.2工作流程图

工作流程如图1所示。

3 FTP搜索引爬虫模块详细设计

3.1设计目的

如今很多企业和个人都建立了自己的FTP站点,在各个FTP站点中包含有大量的资源,如何才能快速的在浩如烟海的资源中找到自己需要的资源,已经成为一个需要我们不得不解决的难题。要解决这一问题,需要我们建立一个有效的FTP搜索引擎,而实现搜索引擎的第一个问题就是如何获取各个站点提供的资源信息。本次设计的题目为FTP搜索引擎爬虫模块,其用途就是搜集各个FTP站点的数据信息,并且组织成一个特定的数据格式,索引模块得去这组数据之后,利用再次处理这些数据,建立索引数据库。

3.2功能模块设计

3.2.1网段扫描

设计思路。

经过查阅资料,由于FTP搜索引擎与WWW搜索引擎最大的区别就在于FTP站点内没有与WWW页面相对应的超链接,因而FTP搜索引擎的站点获得策略就不能模仿搜索引擎业非常时兴的超链分析技术。在本次FTP搜索引擎爬虫模块的设计里,我采用了IP扫描技术和手工添加技术的中和。一方面,程序一开始会读取系统的配置文件,获知本次扫描的网段范围,在对配置文件进行数据效验通过之后,程序会调用相应模块生成该网段中所有的等待访问的IP地址。另一方面,程序本身维护有一个IP站点列表,该列表中会保存用户手工配置的以及上一次扫描成功的IP站点,该IP列表中包含有提供FTP服务站点的IP地址和端口号。

3.2.2获取数据

(1)设计思路。

这一部分的实现虽然比较复杂,但是设计思路却较为简单,首先需要向目标站点发送数据请求。FTP站点会根据请求回传的数据,若请求有误,则会回传错误信息。

(2)获取文件列表。

设计思路:使用List命令获取文件和目录列表,根据回传的数据中包含有标志位,说明了该文件名表示的是目录还是文件。

在此处遇到了一个服务其兼容的问题,测试时发现FTP服务器返回的数据格式风格不同,如IIS和Serv-U,IIS返回的数据为Windows风格,而Serv-U返回的数据则是Linux风格,因此这里对于返回数据的处理不可能用同样的方法,具体解决方法请参见下文3.2.4服务器兼容中的描述。

(3)获取目录列表。

设计思路:使用List命令获取文件和目录列表,根据回传的数据中包含有标志位,说明了该文件名表示的是目录还是文件。

在此处遇到了一个服务其兼容的问题,测试时发现FTP服务器返回的数据格式风格不同,如IIS和Serv-U,IIS返回的数据为Windows风格,而Serv-U返回的数据则是Linux风格,因此这里对于返回数据的处理不可能用同样的方法,具体解决方法请参见下文3.2.4服务器兼容中的描述。

(4)获取文件大小。

设计思路:使用SIZE命令获取指定目录下指定文件的大小,根据回传的数据中包含有标志位,说明了该命令是否执行成功,若执行成功,则获取了文件的大小。

(5)文件分类。

设计思路:在配置文件中建立一个文件分类列表,由于文件的类型划分是根据文件的后缀名进行的,因此单独将文件的后缀名分离出来,对照文件分类表进行类型匹配。若匹配成功则返回类型编号,若失败,则返回一个默认编号。

3.2.3关于编码问题的解决

解决方法。

.net提供了Encoding的方法进行编码的转换,于是我尝试将传送数据的编码由ASCII转换为GB2312。因为ASCII编码不支持汉字,而GB2312支持汉字。结果最终发现当发送的字符转换为GB2312后,FTP服务器仍然不能正确解析,获取文件大小以及最后修改时间是仍然会发生错误。

之后又尝试将编码方式改为UTF8编码,结果仍然是不能解决汉字问题。如果FTP搜索引擎的爬虫部分不能有效的获取带有汉字的文件数据,那么它的实用性将大大的降低。经过几天尝试和查阅网上资料,发现编码问题应该是可以解决的,网上也有人提供了使用其它方式实现的支持汉字的FTP类。由于改动这个FTP类会对本程序造成较大的改动,所以我仍然决定在现有的基础上对程序进行修改。

经过努力,最后终于找到了修改的方法,代码的修改其实很简单,却很容易让人忽略,其方法为将代码Encoding ASCII=Encoding.ASCII改为Encoding AS-CCI=Encoding.Default。经此修改,虽然在有些服务器上仍会出现汉字的乱码,但是却能成功的使用这些获取的数据向FTP服务器发送请求。而且这些乱码也可在数据获取完成后使用转码的方式进行修正。

3.2.4服务器兼容

解决方法。

如何解决兼容性问题是程序开发中的一个难题,在本次设计开始之初,我就考虑过这个问题,尽量的使用了标准的命令来对服务器进行操作。然而虽然使用FTP命令后对服务器的操作实现了兼容,但是回传数据没有兼容。因此不得不对回传的字符串进行分析。

两个服务其回传的数据的差距是十分巨大的。但是经过观察,两组数据的相同点也有很多,比如各组数据在其中所占的字符数大致相同(文件名除外),这为我从中提取有效数据带来了很多便利。

另外,要区别这两组数据也并不困难。IIS回传数据的开头始终是日期,而Serv-U的开头始终是Linux风格的权限标识。利用这个特点,可以较为容易的将他们区别开来。

由于回传字符串的问题,对于这两种风格的字符串必须分别编写代码对它们进行解析。经过分析,各组数据都有一个共同的特点,就是其中的间隔数是相同的,利用这一点,可以从字符串的指定位置提取出需要的数据。

3.2.5生成数据文件

生成的数据源文件主要用于为后面的建立索引做准备。

设计思路。

这部分功能主要是将爬虫模块获取的文件按照指定的格式存为文件,以便为建立索引,方便检索。由于前期已经将实现将爬取的数据分目录暂时存在内存中。因此这部分的工作主要就是将内存中的数据按约定格式写入文件。

3.2.6生成站点列表

设计思路。

将连接成功的FTP站点保存在一个List类型中,在程序执行完成之后,所有成功获取到数据的站点存到一个名为ipList的文件中。以便之后用户的使用和查阅那些能够提供FTP服务的站点。

4 FTP搜索引擎索引模块详细设计

4.1格式化数据

设计思路:在得到倒排索引前,首先就要对原始数据进行特殊的处理。因为如果直接从原始数据得到索引,这样执行的效率会很低,而却实现起来也会比较困难。因此,提前执行一次数据处理,这样在后面建立文件索引时效率会有效的提高。

4.2汇总属性文件

设计思路:文件的10操作通常会耗费大量的时间,由于源文件分散在各个目录中,因此在读取时不可避免的会频繁的打开和关闭文件进行操作。因此我在这里将属性文件汇总,这样所有的有效数据都集中在了一个文件中,最大限度的减少了10操作的发生。

4.3双字母建立索引

设计思路:如何才能快速有效的从原始数据中找出用户需要的数据,这是索引部分索要解决的最大问题,经过查询资料,倒排索引是目前各大搜索引擎所常用的索引建立方式。在数据检索时,用户常采用关键字搜索的方式,因此,在建立索引时我们采用了同样的方式建立了索引数据库。

4.4索引数据库

搜索引擎是对大量的数据进行处理,因此用到数据库是必然的。数据库的重点功能在存储。查看资料发现某些搜索引擎是采用标准的数据库来存放索引数据,但是当数据量达到千万级的时候再执行SQL语句,速度将会变得很慢,特别是执行含有like的select语句时。比如一个采用MySQL存储的客户信息表数据记录达到500万行以上时,就算增加再多的索引,采用标准select语句执行查询时,所需时间至少也在2分钟以上,Oracle数据库虽然可以采用分区,或采用Ora-cle的内置函数来辅助查询,但时间也在1分钟以上。而使用文件系统来存储时,这样的查询耗时一般就是零点几秒。

4.5字符编码

由于ASCII编码并不支持汉字,因此不能选用其作为索引文件的编码。UTF-8的编码方式虽然应用广泛,但是其编码的方式较为特殊,因此最后我选用了GB2312的编码方式作为搜索引擎文件的统一编码。

5总结

此次论文的题目在此之前虽然有所了解,但是我却从来也没有深入的学习思考搜索引擎爬虫模块的实现方式,如何从浩如烟海的站点中找到提供FTP服务的站点,FTP站点如何匿名登录等等一系列的问题在此之前,都没有进行系统的了解。因此,在本次论文开始时,我也曾怀疑自己能否顺利的完成此次论文。毕竟平时一直认为网络爬虫的实现都是一些高手才能实现的,而我自己仅仅是一个在校的大学生。

篇8

【关键词】Web挖掘;推荐技术;研究

一、Web挖掘

(一)Web挖掘原理

Web挖掘是对数据挖掘在Web上的应用,Web挖掘利用的是环球信息网中的相关资源,从中选择有用的内容和信息,Web挖掘是一项综合技术,囊括了Web技术、数据挖掘、计算机语言学、信息学等多个领域的知识。

(二)Web挖掘分类

Web挖掘主要分为三类:

1.Web内容挖掘(Web Content Mining,WCM)

Web内容挖掘主要是从各种文本文档中把需要的信息抽取出来,针对的是Web页面内容的挖掘。Web内容挖掘的信息大多都是以数据的形式存在,那么,数据挖掘可以从两个方面进行:一是利用统计模型采用决策、分类、关联等技术;二是利用人工智能模型采用神经网络、自然法则计算的方法。

2.Web结构挖掘(Web Structure Mining,WSM)

Web结构挖掘主要是从全球信息网的组织结构中找到所要的信息知识。因为全球信息网的互联性,使很多相关的内容形成链接,通过对这些链接的分类归整,可以从中间发现许多有用的信息。通过对Web页面内容结构的特点,对页面进行分类处理,这样能够使信息在检索的时候更为方便。

3.Web使用挖掘(Web Usage Mining,WUM)

Web使用挖掘主要是对Web的访问记录信息的挖掘。全球信息网能够记录每个用户的访问信息,包括访问时间、访问页面、访问内容、访问地点等,把这些访问数据信息整理出来能够优化网站结构,为网站设计者提供设计目标,更好地服务于网站使用者。

二、Web挖掘的信息推荐技术

(一)Web挖掘信息推荐技术的现状

在Web挖掘的信息推荐技术中,发展较为成熟的就是搜索引擎技术,现已广泛运用于人们的生活,搜索引擎包括了全文搜索引擎、目录搜索引擎和元搜索引擎。目前,基于Web挖掘的信息推荐技术包括搜索引擎、动态发现、爬虫、语言分词、全文搜索、内容自动类聚个性化分析、协同过滤等等,应用这些技术研发出来的开源代码是比较重要的一个项目。主要的三个开源代码项目包括:

1.Lucene

Lucene是基于Java的全文检索平台,2013年10月5日版本更新到了4.5。但是Lucene还是一个不完善的搜索应用,它只是一个基于Java引擎中的工具箱,它具有很强的可移动性,能够放入于各种软件应用中,随之实现全文检索功能。

Lucene开源程式库不是单纯的对某一和搜索文件进行维护,能够在搜索的过程中建立的新的搜索文件,累积到一定程度后,建立的新的搜索文件会与原来的搜索库相融合,这样能够使搜索的效率得到提高。

2.Larbin

Larbin是由法国Sébastien Ailleret独立开发的一种用C++语言实现的开源码系统。Larbin最初的目的仅仅只是跟踪页面的统一资源定位器中信息的提取,慢慢发展成为了搜索引擎提供广泛数据的来源。Larbin最初的遵循的是简单却高度可配置性的原则,但是表现出的效果好,比如一个简单的Larbin的爬虫就能够在一天之内获取500万网页信息,利用Larbin后,可以对所有的网页地址进行检索,然后获取其链接。这就作为了搜索引擎信息的来源。但是Larbin只是针对网页信息挖掘,究竟要怎样解析就需要用户自己去解决。

3.Nutch

Nutch也是一个开源Java实现的搜索引擎,它囊括了全文搜索和Web爬虫。虽然Web搜索满足了互联网同步的基本要求,但是目前Web搜索引擎的数量却有所下降,长此以往,就会出现某个公司垄断整个Web搜索的现象发生,这对所有的互联网用户来说非常不利。Nutch与商业化的搜索引擎相比,Nutch搜索引擎更加符合互联网用户的要求。但是Nutch中的分词并不是一直存在的,当再一次的挖掘时分词就失去了它原有的作用,然后要重新进行挖取。

(二)Web挖掘信息推荐技术分类

主要分为三大类:

1.基于规则的推荐技术

基于规则的推荐技术主要是对互联信息之间关系的分析,把分析的结果作为建立规则库的依据,当有用户要查找某个信息时,规则库会根据相似性原则把用户所需要的信息查找出来,推荐给用户。基于规则的推荐技术简单且实用性强,但是会随着数据量的增大而增加,一旦规则库混乱,就完全无法完成搜索,而且规则库根据编程的规则来推荐,也不能发现新互联用户的喜好。

2.基于内容分类的推荐技术

基于内容分类的推荐技术是建立在信息内容的基础上,主要是依据机器学习的方法把用户需要的信息分类整理,不需要互联用户先对信息作出评价。根据内容的相似性,能够把用户感兴趣的内容推荐给用户。但是这样的推荐技术不适用于音频、视频等媒体信息。

3.协调过滤推荐技术

协同过滤推荐技术建立在群体性和多数性原则的基础上,因为互联用户具体社会属性,所以用户个人行为也可以表现出某类人群的行为,协同过滤推荐技术是建立在社会属性的基础上。目前,协同过滤推荐技术在许多的电子商务网站得到广泛使用,运用较为理想的网站有“当当网”等,在“当当网”中购买书籍时,系统根据用户浏览的情况向用户推荐可能需要的书籍。

三、结束语

随着科技的发展,网络已经逐渐成为了人们生活中的一部分,对于Web挖掘的信息推荐技术也越来越受到人们的重视,Web挖掘的信息推荐技术的研究需要相关专家学者不断研究,更好地为人们的网络生活服务。

参考文献

[1]李锦玲,汪斌强.基于最大频繁序列模式挖掘的App-DDoS攻击的异常检测[J].电子与信息学报 ,2013,(7)

[2]马瑞新,邓贵仕,王晓.基于扩散理论的HITS算法在Web挖掘中的研究与优化[J].计算机应用研究,2012,29(1)

篇9

[关键词]搜索引擎 分类 爬虫 元搜索引擎

目前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为例,用户既可以进行分类网站查询也可以进行全部网页查询,这两种不同的查询方式很好的满足了不同用户的需求。虽然搜索引擎已经为用户提供了快捷和便利的服务,但是也存在着许多问题和不足。特别是在系统的稳定性,速度,易用性和返回的信息量及相关度方面还与人们的要求存在着一定的差距,搜索引擎技术的发展任重而道远。

参考文献:

篇10

>> 试论多线程向量处理器中向量数据存储结构的设计与实现 嵌入式微处理器与SDRAM的接口设计与实现 中低端微处理器平台软件仿真MMU的设计与实现 嵌入式微处理器分支预测的设计与实现 SPARC V8结构嵌入式微处理器开发环境的设计实现 对嵌入式硬件多线程处理器的研究 片上多处理器系统的多线程调度策略 VLIW处理器循环指令缓冲器设计与实现 一种基于微处理器的线性编码技术的研究与实现 基于PXA微处理器的引导系统的研究与实现 AT91系列微处理器启动过程的分析与实现 异步多线程的答疑系统的设计与实现 基于.NET的多线程编程设计与实现 基于多线程的网络爬虫设计与实现 MIPS公布即将推出代号为“Prodigy”的64位多核\多线程处理器IP 微处理器的未来主流:ARM微处理器 MIPS引领嵌入式其处理器多核多线程时代 MIPS引领多线程多核心IP处理器趋势 基于嵌入式微处理器的GPRS无线通信终端的实现 实现汽车网络高速通信的微处理器等 常见问题解答 当前所在位置:l.

[5] INTEL Corporation. Intel Xeon processor[R/OL]. Santa Clara, CA: Intel Corporation, 2010. http:// /products/processor/ Xeon/index.htm.

[6] HENNESSY J L, PATTERSON D A. Computer architecture: a quantitative approach[M]. San Francisco, CA: Morgan Kaufmann Publishers, 2006.

[7] 张民选, 王永文. 高性能微处理器技术与结构[M]. 长沙:国防科学技术大学出版社,2004.

ZHANG Min-xuan, WANG Yong-wen. Technology and structure of high performance microprocessor [M]. Changsha: National University of Defense Technology Press, 2004. (In Chinese)

[8] MANJIKIAN N, ROTH J. Multithreading and interprocessor communication in a dual-issue pipelined processor[C]//Proceedings of 2008 Joint 6th International IEEE Northeast Workshop on Circuits and Systems and TAISA Conference. New York: IEEE, 2008: 33-36.

[9] OLUKOTUN K, HAMMOND L. The future of microprocessors[J]. QUEUE-Multiprocessors, 2005,3(7): 26-29.

[10]孙彩霞, 张民选. 使用取值策略控制同时多线程处理器中个体线程的性能[J]. 计算机学报, 2008, 31(2): 309-317.

SUN Cai-xia, ZHANG Min-xuan. Using instruction fetch policy to control performance of a thread in SMT processors[J]. Chinese Journal of Computers, 2008, 31(2): 309-317.(In Chinese)

[11]WANG Yong-wen, ZHENG Qian-bing, DOU Qiang, et al. Low power design for a multi-core multi-thread microprocessor[C]//Proceedings of International Symposium on Energy-aware Computing and Networking. Washington, DC: IEEE Computer Society, 2010: 351-356.

[12]路放, 安红,梁博,等. OpenSMT:一个同时多线程处理器模拟器的设计与实现[J]. 计算机科学,2006, 33(1): 158-163.

LU Fang, AN Hong, LIANG Bo, et al. OpenSMT: the design and implementation of a simulator for simultaneous multithreading processor architecture[J]. Computer Science, 2006, 33(1): 158-163.(In Chinese)

[13]刘星江, 王慧. 一种基于Verilog的验证平台搭建及应用[J]. 信息安全与通信保密, 2013(1): 43-45.

LIU Xing-jiang, WANG Hui. Building-up and application of testbench based on verilog[J]. Information Security and Communications Privacy, 2013(1): 43-45.(In Chinese)

[14]高秋红. 时序电路的功能验证方法和技术研究[D]. 北京:北京交通大学, 2006.

GAO Qiu-hong. The study on functional verification methods and technologies for sequential circuits[D]. Beijing: Beijing Jiaotong University, 2006.(In Chinese)

[15]陈海燕, 郭阳, 陈吉华, 等. 集成电路计算机辅助设计与验证实践[M].长沙:国防科学技术大学出版社,2010.

CHEN Hai-yan, GUO Yang, CHEN Ji-hua, et al. Integrated circuit computer aided design and verification in practice. [M]. Changsha: National University of Defense Technology Press, 2010.(In Chinese)