




已阅读5页,还剩70页未读, 继续免费阅读
(计算机科学与技术专业论文)手机产品信息垂直搜索引擎系统设计与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:垒盔篝日期:弘山2 上进 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) 聿畸 导师( 签名) :吲惶日期:毗 摘要 当今网络飞速发展,每天网页数量以几何级方式增长,搜索引擎得到了越 来越广泛的应用。通用搜索引擎解决了一部分信息搜索的问题,但是随着通用 搜索引擎返回页面的急剧增多,用户就很难从大量的搜索结果中找到自己满意 的信息。每个用户对知识的需求是不同的,因此通用搜索引擎没有区分的把所 有结果都返回给用户,给用户使用搜索引擎造成了极大的不便。 作为通用搜索引擎的一种发展趋势,垂直搜索引擎应运而生。如今,行业 得到了进一步的细化和分工,每个行业的知识量也与日俱增,因此专门正对某 个行业来做搜索,成为了现代搜索的新方向。垂直搜索引擎,也被称为专业或 者专用搜索引擎,就是专为查询某一个主题信息而产生的查询工具。垂直搜索 引擎专门收录某一方面、某一行业或者某一主题的信息,在解决某些实际查询 问题的时候比通用搜索引擎更有效。 具体而言,垂直搜索引擎就是对网页库中的某类专门的信息进行一次整合, 定向分字段提取出需要的数据,进行处理后以某种特定形式返回给用户。垂直 搜索引擎和普通的网页搜索引擎的最大区别是对网页信息进行了结构化信息抽 取,也就是将相关的页面抽取为特定的结构化信息数据如果说网页搜索是以 网页为最小单位,而垂直搜索是以结构化数据为最小单位将这些数据存储到 数据库,进行进一步的加工处理、去重、分类等,最后分词、索引,最终以对 结构化数据的搜索的方式满足用户的信息需求整个过程中,数据由非结构化 数据抽取成结构化数据,经过深度加工处理后以非结构化的方式和结构化的方 式返回给用户。 本论文介绍了构建全文检索系统的l u c e n e ,分析了它的架构和主要工作原 理。还对开源爬虫h e r i t r i x 进行了深入的分析,对每个核心组件进行了详细的阐 述。在前面研究的基础上,设计实现了一个搜索引擎实例,并演示了它的功能。 本文详细的介绍了该实例的设计和实现,并介绍了一个基于改进的遗传算法的 主题网页搜集算法以及异构w e b 网页的提取算法等。 实验表明,该系统具有一定的可行性和实用性,对构建垂直搜索引擎系统 有一定的参考价值。 关键词:主题,垂直,搜索引擎,l u c e n e ,h e r i t r i x ,遗传算法 a b s t r a c t t o d a y si n t e m e ti sd e v e l o p i n gr a p i d l y , a n de v e r yp a g en u m b e ri sg r o w i n gi n g e o m e t r yw a y , s os e a r c he n g i n e sh a v eb e e na p p l i e dm o r ea n dm o r e u n i v e r s a ls e a r c h e n g i n es o l v e sap a r to fi n f o r m a t i o ns e a r c hp r o b l e m ,b u ta st h en u m b e ro fp a g e s r e t u r n e db yt h eu n i v e r s a ls e a r c he n g i n e si n c r e a s e ss h a r p l y , i tb e c o m e sd i f f i c u l tf o ra u s e rt of i n ds a t i s f y i n gi n f o r m a t i o n e a c hu s e rh a sd i f f e r e n td e m a n df o r , b u tt h e u n i v e r s a ls e a r c he n g i n e sd on o td i s t i n g u i s hb e t w e e na l lt h er e s u l t s ,a sar e s u l t ,t h e s e a r c he n g i n eh a sc a u s e dg r e a ti n c o n v e n i e n c et oau s e r a sau n i v e r s a ls e a r c he n g i n ed e v e l o p m e n tt r e n d ,t h ev e r t i c a ls e a r c he n g i n ea r i s e s a tt h eh i s t o r i cm o m e n t t o d a y , t h ei n d u s t r yg e t sf u r t h e rr e f i n e da n dd i v i s i o no fl a b o r , e v e r yi n d u s t r yg r o w s ,s oh o wt od e v e l o pas e a r c he n g i n ef o rai n d u s t r yb e c o m e sa n e wd k e c t i o n v e r t i c a ls e a r c he n g i n e , a l s ok n o w na st h ep r o f e s s i o n a lo rs p e c i a ls e a r c h e n g i n e ,i saq u e r yt o o ld e s i g n e df o ri n q u i r i n gi n f o r m a t i o nf o ro n et h e m e v e r t i c a l s e a r c he n g i n es p e c i a l l yi n c l u d e di n f o r m a t i o nf o ro n ea s p e c t ,a l li n d u s t r yo rat h e m e i t i sm o r ee f f e c t i v et h a ng e n e r a ls e a r c he n g i n ei ns o l v i n gs o m ea c t u a li n q u i r e s i nf a c t , t h ev e r t i c a ls e a r c he n g i n ei sac e r t a i ns p e c i a li n f o r m a t i o ni n t e g r a t i o no n t h ew e bl i b r a r y ,e x t r a c t sd a t af r o md i r e c t i o n a lp o i n t s ,a n dt r e a t st h eu s e rw i ma r e t u r n e dp a r t i c u l a rf o r m t h eb i g g e s td i f f e r e n c eb e t w e e nv e r t i c a ls e a r c he n g i n ea n d o r d i n a r yw e bs e a r c he n g i n ei st h ew e bi n f o r m a t i o ns t r u c t u r e di n f o r m a t i o ne x t r a c t i o n , t h a ti se x t r a c t sp a g e sf o rs p e c i f i cs t r u c t u r e di n f o r m a t i o nd a t a i fm i n i m u mu n i to ft h e w e bs e a r c hi sap a g e ,v e r t i c a ls e a r c hi ss t r u c t u r e dd a t a t h ev e r t i c a ls e a r c hw i l ls t o r e t h e s ed a t ai nt h ed a t a b a s ef o rf t l i 恤e rp r o c e s s ,c l a s s i f i c a t i o n , w o r ds e g m e n t a t i o n , i n d e x ,a tt h ee n d ,i tw i l lm e e tu s e r si n f o r m a t i o nn e e d sw i t hs t r u c t u r e dd a t af o rs e a r c h w i t ht h ew h o l ep r o c e s s ,d a t ai st r a n s f o r m e df r o mt h ee x t r a c t e du n s t r u c t u r e dd a t ai n t o s t r u c t u r e dd a t a a f t e rp r o c e s s i n gi nd e p t ht h ed a t ai sr e t u r n e dt ot h eu s e ri n u n s t r u c t u r e dw a yo rs t r u c t u r e dw a y t h i sp a p e ri n t r o d u c e saf u l l t e x tr e t r i e v a ls y s t e mn a m e dl u c e n e ,a n a l y z e si t s s t r u c t u r ea n dm a i nw o r kp r i n c i p l e a n da n a l y z e sd e e p l yt h eo p e n - s o u r c ec r a w l e r h e r i t r i x w ea n a l y s et h ec r a w l e r se a c hc o r ec o m p o n e n t si nd e t a i l b a s e do nb e f o r e s t u d y ,w ed e s i g n e da n di m p l e m e n t e das e a r c he n g i n es y s t e m ,a n dd e m o n s t r a t e di t s f u n c t i o n s t h i sp a p e ri n t r o d u c e st h ed e s i g na n dr e a l i z a t i o no ft h es y s t e m , a n d i i 炯d u c e sat h e m ew e bc o l l e c t i n ga l g o r i t h mb a s e do nt h ei m p r o v e dg e n e t i ca l g o r i t h m a n dh e t e r o g e n e o u sw e bp a g ea l g o r i t h r a t h ee x t r a c t i o na l g o r i t h m ,e t c e x p e r i m e n t ss h o wt h a tt h es y s t e mh a sao 既t a i l lf e a s i b i l i t ya n dp r a c t i c a b i l i t y i t h a sr e f e r e n c ev a l u ef o rc o n s t r u c t i n ga v e r t i c a ls e a r c he n g i n es y s t e m k e y w o r d s :t h e m e ,v e r t i c a l ,s e a r c he n g i n e ,l u c e n e ,h e r i t r i x ,g e n e t i ca l g o r i t h m i i i 目录 摘要i a b s t r a c t i i 第1 章绪论1 1 1 课题背景及意义1 1 2 垂直搜索引擎历史、现状和发展趋势l 1 2 1 垂直搜索的起源和定位1 1 2 2 国内外垂直搜索引擎的发展现状2 1 2 3 垂直搜索引擎的发展趋势3 1 3 论文的结构与主要研究工作3 第2 章垂直搜索系统的分析与设计4 2 1 信息检索与垂直搜索系统简介。4 2 1 1 信息检索简介4 2 1 2 垂直搜索系统简介4 2 2 通用搜索引擎系统。5 2 3 手机产品信息垂直搜索系统的关键组件6 2 3 1 可定制的网络爬虫h e r i t r i x 6 2 3 2 全文搜索引擎l u c e n e 10 2 3 3 中文分词技术1 6 2 3 4 高效的h t m l 解析工具h t m l p a r s e r :1 6 2 3 5 主题抽取与信息抽取1 6 2 4 手机产品信息垂直搜索系统的结构及功能设计1 7 2 4 1 系统整体设计思路1 7 2 4 2 系统整体流程图1 8 2 4 3 系统具备的功能模块1 8 2 5 手机产品信息垂直搜索系统的建立目标。1 9 2 6 本章小结1 9 第3 章手机信息垂直搜索系统的实现2 1 3 1 网页抓取模块2 1 3 1 1 门户网站主题爬虫抓取模块2 l 3 1 2 一般网站的基于遗传算法的主题爬虫的设计与实现2 7 3 2 网页解析模块3 3 3 2 1h t m l p a r s e r 3 4 3 2 2 门户网站p c o n l i n e 的手机网页解析系统3 5 3 2 3 异构手机产品w e b 网页内容解析算法3 8 3 3 手机信息存储和索引模块4 l 3 3 1 构造产品名称词库4 2 3 3 2 手机信息数据库存储与全文索引的索引结构4 3 3 3 3 手机产品信息数据库存储4 5 3 3 4 手机产品信息使用l u c e n e 索引4 6 3 3 5 手机产品信息综合处理与运行4 7 3 4 手机产品信息检索模块4 8 3 4 1w e b 配置文件4 8 3 4 2 封装了检索结果的b e a n 类5 0 3 4 3 数据库访问类s e a r c h r e s u l t d a o 5 1 3 4 4l u c e n e 索引检索综合类s e a r c h s e r v i c e 5 2 3 5 本章小结5 4 第4 章手机产品信息垂直搜索系统实验及结果分析5 6 4 1 基于改进遗传算法的主题爬虫实验结果与分析5 6 4 1 1 实验设计5 6 4 1 2 实验数据分析5 7 4 2 手机信息垂直搜索系统的功能演示及结果分析5 8 4 3 手机产品信息垂直搜索系统相关问题6 2 4 4 本章小结6 3 第5 章总结与展望6 4 致谢6 6 参考文献6 7 附录6 9 1 1 课题背景及意义 第1 章绪论 互联网上的信息数以亿万计,互联网用户也越来越依赖于搜索引擎查找相关 的信息。除了电子邮箱的服务外,搜索引擎称为用户从互联网上获取信息的主 要方式之一。 现在比较流行的通用搜索引擎有g o o g l e 、百度、雅虎、有道等,这些搜索引 擎整合了众多网站信息,极大的提高了用户查询信息的速度。但是面对今天海 量的信息,通用搜索引擎的查询的结果集也是海量的,回返的结果经常是上千 万的,并且结果里也存在大量的重复信息和垃圾信息【1 l 。用户越来越难迅速的找 到符合自己本身要求的信息,要在通用搜索引擎上找到准备的信息往往也需要 用户花费大量的时间,这让用户又一次迷失在浩渺的信息世界中。 作为通用搜索引擎发展的一种趋势【1 l ,垂直搜索引擎在近些年来得到了越来 越多的应用。与通用搜索引擎不同,垂直搜索引擎专门采集分析某一个行业的 信息,为某个行业提供搜索服务甚至问题解决方案【2 】。目前,垂直搜索引擎是搜 索行业的专业化分工的结果。通用搜索引擎也提供垂直搜索服务,比如百度、 g o o g l e 提供的图片搜索、文档搜索、视频搜索等,也有专门的做垂直搜索方向 的网站,近年来发展比较迅速,比如搜房网等。 垂直搜索引擎为通用搜索引擎探索了一个新的潜力巨大的发展方向,这得 益于在如今海量数据的背景下垂直搜索引擎为用户提供了一种全新的使用方式 和体验。 手机作为如今随处可见的一种通讯工具,已经融入到人们的日常生活的每 个角落。随着通信业和网络的发展,手机无论是种类还是数量都有成千上万种, 这无疑给手机消费者选择自己合适的手机提高了难度。而通过手机信息垂直搜 索,消费者可以准确、快速的定位到自己感兴趣的手机。 1 2 垂直搜索引擎历史、现状和发展趋势 1 2 1 垂直搜索的起源和定位 目前,搜索引擎的发展已经比较成熟,但要及时地找到自己所需的信息却 变的越来越困难,其原因大概有两个。 第,通用搜索引擎的返回结果的数量的剧增与用户需求信息的精细的矛 盾越来越明显。在庞大的信息中查找很小一部分的信息,犹如“海底捞针 ,对 查找某些特定信息的用户就想人工进行了一次信息搜索。 第二,搜索引擎在查找关键字时并没有考虑到关键字所在的行业的信息, 因为同一个关键字,在不同的行业上下文中能表达不同的意思。 这两个方面导致了通用搜索引擎查找的结果集中有大量的与用户需求无关 的信息。互联网发展到现在,信息数以亿计,而人们不再一味的追求信息的多 少,也越来越注重信息的实时性,准确性以及专业性。在这种环境下,人们想 到了垂直搜索引擎。 垂直搜索引擎发展自通用搜索引擎,但不等同于通用搜索引擎。目前通用 搜索引擎的技术已经很成熟,垂直搜索难点不是技术,困难的是利用好行业领 域的优势,为用户提供差异化的服务,这一点通用搜索引擎无法做到的。因此, 垂直搜索有自己的生存模式和盈利模式,走的是与通用搜索不同的路。 那么,垂直搜索是什么? 目前还没有完全准确的定位,有人认为:垂直搜 索引擎是信息的重新整理,索引数据的深度挖掘等。垂直搜索是服务于某项功 能的,比如:求职者寻找职位,那么求职信息的搜索就是一种垂直搜索。垂直 搜索系统首先把网页等半结构化信息转换为结构化信息,再进行深度加工处理, 最后以结构化的数据或者非结构化的数据的形式返回给用户。 1 2 2 国内外垂直搜索引擎的发展现状 目前国内垂直搜索的应用领域非常广泛,比如旅游搜索、求职招聘搜索、 房产搜索、商业搜索、图书搜索、视频搜索、资源搜索等。相比通用搜索引擎, 垂直搜索引擎更能匹配不同群众的特定需求。国内比较有代表性的垂直搜索引 擎有搜房网,爱搜书网,酷讯生活网等。其中,搜房网提供各种房源的信息和 资讯;爱搜书网拥有包括漫画、小说、生活等频道的电子书资源,并有自己的 桌面软件。酷讯网有求职、房产、车票等信息资源。 尽管国内的垂直搜索引擎发展较快,但与国外的相比,在很多方面还有较 大的差距,专业化搜索服务还无法广泛应用在社会的各个领域。我国的垂直搜 索还处于起步阶段,这大概基于两个原因:1 ) 我国电子商务不完善;2 ) 使用 2 网络搜索的用户数量有限。 国外的垂直搜索正蓬勃发展,评价比较好的一些垂直搜索引擎,包括社会 搜索a a r d v a r k 、移动搜索c h a c h a 、以及电子邮件搜索、专门针对商品的图像进 行搜索的图像搜索引擎等共1 0 个搜索网站。其中像c u i l 、g i s t 、l i k e t o m 、w o l f r a m 这几种搜索还是很有新意的。比如其中的a a r d v a r k 专注于社会搜索,擅长于解 决类似于“某地最好的牙医是谁? 一的咨询类问题。相关搜索c u i l 使用用创新 性的相关性来排列搜索结果,而不用网页等级算法。 1 2 3 垂直搜索引擎的发展趋势 经过几年的发展,垂直搜索引擎已经以其智能行,专业化,个性化等优点 得到越来越多的用户的欢迎1 3 1 。但是,其规模和数量还远远不够,以百度、谷歌、 雅虎为代表的通用搜索引擎仍旧占据着明显的优势。从目前的发展趋势来看, 垂直搜索引擎的发展方向有:( 1 ) 进行目录的专业化更细分;( 2 ) 对结构化信息进 行深度加工和挖掘;( 3 ) 提供多语言的检索,突破语言限制,极大提高垂直搜索 整合信息的能力;( 4 ) 本地化搜索,提供像地图搜索那样的本地服务比如本地购 物、就餐、娱乐、工作等。 1 3 论文的结构与主要研究工作 本文设计和实现了一个基本的垂直搜索引擎系统,在整个系统的论述中, 将本文总共分为六章,每章得安排以及主要内容如下: 第1 章主要介绍了本课题的选题背景和意义,研究了垂直搜索引擎的历史、 现状和发展趋势,然后给出了本文的组织结构和主要研究工作; 第2 章介绍了信息检索和垂直搜索系统的一般理论,分析了现有搜索引擎 系统的优缺点,构建一个垂直搜索系统的难点和技术选择缘由,最后提出了建 立一个垂直搜索系统整体思路和系统流程。 第3 章详细介绍了本文所划分的垂直搜索系统的四大模块,分别是网页抓 取模块,网页解析模块,存储和索引模块,以及检索模块。分别对这四大模块 进行了详细的设计和实现。 第4 章通过具体的实验结果展示,验证本文所实现的系统的可行性、有效 性。 第5 章对全文的工作做一个总结,分析了目前系统的不足和需要改进的地方。 3 第2 章垂直搜索系统的分析与设计 2 1 信息检索与垂直搜索系统简介 2 1 1 信息检索简介 信息检索是用户根据一定的信息找出相关的信息的过程和技术,检索中相关 信息包括已经处理并储存好的信息,也有直接从外部系统实时采集到的信息1 7 1 。 要建造一个信息检索系统,需要通过程序行使将信息内容以文件、数据库 等形式存储,然后提供用户的检索服务,大概就是信息的表示、存储和检索。 信息检索系统包括信息数据和相关的硬件,最初应用于学校教育和科技信息检 索,后来发展到互联网行业等其他领域。 在现在信息网络时代,传统的基于关键字匹配的全文检索技术远远不能满 足用户的检索要求,因此有人提出了检索的智能化概念。在查询词语方面,该 检索方式能根据提供词语的同义词,上下文语义,同音词语等来达到良好的检 索结果,最总给用户提供满意精确的服务。 2 1 2 垂直搜索系统简介 垂直搜索引擎系统,作为一个搜索系统,自然有自己的源信息来源。与通用 搜索引擎基于网络上任何网页信息不同,垂直搜索系统要求内容来源专业,比 如针对某个行业的门户网站,与行业相关度高的网页等1 8 1 。 垂直搜索引擎立足于某个行业,需要行业领域专家的参与,这是通用搜索引 擎所不具备的。垂直搜索引擎作为一个搜索引擎,首要任务就是能帮助用户检 索到满足条件的信息,但与通用搜索引擎区别最大的是,垂直搜索可以针对用 户提供个性化的搜索,还能够像专家系统那样的辅助解决问题。比如,求职类 的垂直搜索引擎不仅提供用户工作方面的信息,还需要对信息做深度的数据挖 掘,帮助用户总结相关的招聘信息,以及提供与用户求职方向更贴切的招聘信 息等。 与通用搜索引擎类似,垂直搜索引擎通常也包括信息采集子系统、信息索引 子系统和信息检索子系统网。但是这三大部分有自己的特点,抓取系统中通常限 4 制只抓取某一方面的链接,与某个主题有关的网页等,因此主题爬虫有利于在 通用爬虫中运用主题方面的知识;索引系统首先需要将半结构化的网页信息以 结构化形式存储,然后对结构化信息进行索引,而通用搜索引擎直接存储下载 下来的网页;检索系统在一般检索原理的基础上加入了个性化地特定,提供个 性化的查询服务。 在上面三大部分的基础上,垂直搜索引擎可以分为四大模块1 1 0 l ,分别为信息 抓取模块、信息抽取模块、索引模块、检索模块。按照这四大模块,系统的结 构图如图2 1 所示。 图2 1 垂直搜索系统的结构图 其中信息抽取模块主要是分析和抽取下载下来的网页,提取出后面步骤所 需要的信息,并以结构化的形式进行存储,这部分是垂直搜索系统与通用搜索 引擎主要的区别之一。 2 2 通用搜索引擎系统 互联网的信息与日俱增,如何充分的利用这些海量信息,成为目前搜索引 擎的一个重要挑战。通用搜索引擎作为互联网用户搜索信息的重要工具,经过 多年的发展,其局限性也逐渐显现出来,具体表现有以下几个方面: ( 1 ) 没有区分用户的个性化处理,只根据搜索关键字返回相关的网页 9 1 。但是 对一个搜索请求,不同的用户需求的网页是不一样的。比如,同一个关键字“笔 记本“,对于销售人员来说,可能是想查最近哪些款式的笔记本销量比较好, 而对于技术维护人员来说,肯能是想查看最进哪些款式的笔记本问题比较多, 显然两者对网页的需求是不一样的。那么,像通用搜索引擎那样,对用户不加 区分的返回所有的网页是不能满足特定的用户需求的。 ( 2 ) 目前网络的信息资源丰富,随着多媒体技术的发展,图片、音频视频等 s 数据大量的出现,还有w e b 2 0 技术的发展,很多动态请求的网页,对于通用搜 索引擎来说,是比较难处理的。现在人们在互联网上,获取信息的方式不仅仅 满足与静态网页了,越来越多的是通过图片,音视频了。如果这些新型的网页 信息没有处理的话,那么搜索引擎是无法跟上时代发展的。 ( 3 ) 通用搜索引擎只追求网页的覆盖率。这种技术发展的速度是很难应付目 前的数量增长飞速的网络海量资源的。 通用搜索引擎的技术目前已经很成熟了,但是仍旧很难满足用户的需求。 垂直搜索引擎针对用户的需求提高网页的质量,与通用搜索引擎只负责寻找信 息的目的不同,垂直搜索引擎还要帮助用户解决问题。 2 3 手机产品信息垂直搜索系统的关键组件 本系统实现了一个垂直搜索引擎,在系统实现中针对垂直搜索引擎的不同模 块采用不同的技术,下面主要介绍了主题爬虫实现模块的基本网络爬虫h e t i t r i x , 和全文检索索引模块的常用工具l u c e n e ,以及高效的网页解析工具h t m l p a r s c r 盘生 于o 2 3 1 可定制的网络爬虫h c r i t r i x 本节针对一些常用的网络爬虫,来进行对比区分,来说明本系统的主题爬虫 部分采用h e r i t r i x 作为基础爬虫的原因。 目前,网络上有很多的开源网络爬虫,比如l a r b i n 、h e r i t r i x 、n u t c h 等,表 2 1 是这些的网络爬虫的优缺点的比较。 表2 1 网络爬虫的比较 名称平台开发语言优点缺点 l a r b i nl i n u xc + +性能稳定会产生一些错 误判断 n u t c hw i n d o w s l i n u xj a v a基于l u c e n e 开性能不稳定 发 h e r i t r i xw i n d o w s l i n u xj a v a功能全面,扩对带有中文的 展性良好,可u r l 处理有问 以高度控制抓题 取过程 w e b s p h i n x w i n d o w s l i n u xj a v a接口完备没有后续维护 通过上面的分析可知,h e r i t r i x 扩展性很强,可以更详细的控制抓取过程, 6 并且有w e b 控制管理界面,并且由于h e r i t r i x 一般抓取全部的网页内容,重新 抓取时只是以追加的方式增加所抓取的新的内容,有利于后面的网页更新,因 此,采用h e r i t r i x 实现垂直网络爬虫。 h c r i t r i x 对整个抓取过程进行了模块化的划分,我们可以实现自己的模块并 加入到h e r i t r i x 的运行中去,是实现自己的抓取逻辑。 h e r i t r i x 的整体系统架构如下图所示n ,其中c r a w l c o n t r o u e r 是下载控制器, 它表示整个抓取任务。f r o n t i e r 产生新的u r l ,并将新的u r l 传递给 p r o c e s s o r c h a i n 进行处理。p r o c e s s o r c h a i n 通过一系列的p r o c e s s o r 来处理u r l 对 应的页面,把抽取到的u r l 传给f r o n t i e r 处理,f r o n t i e r 对接收到的新的u r l 进 行处理生成待抓取u r l 。像这样,这三个主要的组件分工合作,循环进行,直 到任务完成为止。图2 - 2 是h e r i t r i x 体系结构图。 图2 2h e r i t r i x 体系结构图 w e b a d m i n i s t r a t i o nc o n s o l e :w e b 控制台,用户可以通过w e b 界面控制网络 爬虫的抓取过程。 c r a w l o r d c r ( 抓取任务控制器) 类:是整个抓取任务的起点。它读取o r d e r x m l 配置文件按初始化一个抓取任务。 c r a w l c o n t r o l l e r ( 下载控制器) 类:控制爬虫的整个抓取过程。 c r a w l u r i :抓取到的并且将要被送入处理链处理的u r i 。 7 a l r e a d yi n c l u d e du r i s - 已经被抓取的u r i s 。 u r iw o r kq u e u e - u r i 工作队列。 f r o n t i e r ( 边界控制器) 类:负责产生待处理的u r i ,包含了所有的u r i 队列。 t e o t h r e a d ( 处理线程) :h e r i t r i x 是多线程的,每一个u r i 被一个t o e t h r e a d 处理。 p r o c e s s o rc h a i n s ( u r l 处理器链) :u r i 处理器链,包含u r i 处理过程中的所 有处理器的处理器链,图2 3 是这些处理器链的示意图。 l 厂p r o - f e t c hp r o c e s s i n g n k c h a i n 上 陈n 一8 s i n gc h t c 上 e x t r a c t o rp r o c e s s i n g 、 c h a i n 上 一r i r e i n d e xp r o c e s s i n g 、 c h a i n 上 厂、 p o s t - p r o c e s s i n gc h a i n 上 图2 3h e d t r i x 处理器链图 通过图2 3 可以看出,h e r i t r i x 中包含大约有5 种处理器链,这些链表示u r i 的次处理过程。 ( 1 ) p r e - f e t c hp r o c e s s i n gc h a i n ( 预处理链) :对抓取过程的一次预处理。包括的 类有p r e s e l e c t o r , p r e c o n d i t i o n e n f o r e e r 等。 ( 2 ) f e t c hp r o c e s s i n gc h a i n ( 抓取处理链) :解析网络传输协议,从远程服务器 获取数据,如下载网页时,进行d n s 转换,填写请求和响应表单等。包括的类 有f e t c h d n s ,f e t c h h t r p 等。 ( 3 ) e x t r a c t o rp r o c e s s i n gc h a i n ( 抽取处理链) :从网页中抽取新的u r i 。包括的 8 器p r o c e s s o r ( p r o c e s s o r 是所有处理器的父类) 链:p r e p r o c e s s o r ;f c t c h c r ;e x t r a c t o r : w r i t e r :p o s t p r o c e s s o r ,这5 个处理器链按顺序处理一个链接。 在前面几节,我们对h e r i t r i x 的架构,关键组件进行了分析嘲,然后我们就 可以对h c r i t r i x 进行定制,是h c r i t r i x 只爬虫我们所要求的内容。我们要添加自 9 定义的处理器类比如e x t r a c t o r ,p o s t p r o c e s s o r ,p r e c o n d i t i o n e n f o r c 盯等。因为, 定制e x t r a c t o r 可以限制我们抓取的u r l 的范围,内容等,而p o s t p r o c e s s o r 则可 以限制要加入队列的u r l 的文件类型,不满足条件的链接内容不保存在本地。 本系统主要是在h e r i t r i x 的基础上,实现主题相关垂直网络爬虫,主要内容 见系统实现的爬虫相关的章节。 2 3 2 全文搜索引擎l u c e n e l u c e n e 是一个复用性好,易于扩展的全文索引软件包。l u c e n e 可以嵌入到 各种需要索引检索的系统中,并且提供了丰富的查询服务。 l u c e n e 是使用面向对象语言开发的,整个软件架构也是基于面向对象特征 的,并且索引文件格式与具体的平台无关,因此可以很方便的在l u c e n e 的基础 上扩展功能,进行特定环境下的开发。 图2 5 显示了l u c e n e 中的主要模块n 船。 图2 - 5l u c e n e 的主要模块图 从图2 - 5 中可以看出,l u c e n e 的软件包分为三种,分别是对外接口、索引核 心、以及基础结构封装包。对外接口包有o r g a p a c h e 1 u c e n e s e a r c h 和 o r g a p a c h e 1 u c e n e a n a l y s i s ,其中s e a r c h 包与用户查询相关,a n a l y s i s 包定义了语言 分析接口,与文件索引相关,被l u c e n e 的索引核心调用;索引核心包括i n d e x , s t o r e 包,i n d e x 包管理索引的建立,更新等功能,s t o r e 包设计到索引操作的底层 操作;基础结构包包括d o c u m e n t 包和u t i l 包,d o c u m e n t 包对l u c e n e 的文档进行 了一种逻辑上的标示,u t i l 定义了一些工具类。 表2 - 2 中包含了l u c e n e 常用的j a v a 包n 引。 1 0 包名 用途 d o c u r n e n t ( 文档结构包) 管理l u c e n e 文档 a n a l y s i s ( 语言分析包) 某种语言的分词 i n d e x ( 索引管理包) 管理l u c e n e 的索引 s e a r c h ( 检索包) 搜索检索工具 q u c r y p a r s e r ( 查询分析包) 解析用户的查询语句 s t o r e ( 存储包) 封装了底层的i 0 操作 u t i l ( 工具包) 公共使用的类 u t i l c a c h e ( 缓存包) 用于缓存管理 m e s s a g e ( 本地支持包) 本地化支持和软件系统国际化 l u c e n e 对数据源没有要求,任何格式的文件只要转换为文本保存,l u c e n e 就可以将文本文件封装为d o c u m e n t 实例,然后对这个具有抽象意义的d o c u m e n t 对象进行索引。常用的文件有x m l 文件,w o r d 文件,网页文件等,如图2 6 所 示。 图2 - 6 数据来源 在开发过程中,用户可以扩展l u c e n e 的接口,来实现本地化开发。比如在 龃a l y s i s 的语言分析接口中,就可以把自己实现的中文分词嵌入到l u c e n e 中,从 而可以是l u c e l l e 能对中文文档进行正确的中文分词,从而提供正确的中文文档 索引和检索。l u c e n e 包括一系列的扩展接口,如图2 7 所示。 l 用户自定义分析l m ( a n a l y z e r ) 卜 j 0 1 8 s o s c h e 1 t l c e a e oa m t l y s i 。 o r g a p e e h e i u e e n e i n d e x 用户自定义 1 d o c m e n t ( f i e l d 。) 应用系统内容实现 o r g a j e h e 1 u e e n e , d o c u m e n t | t 铷物粝 o r f oa p a c h e 1 u c e n e s e a r c h i 捧序粪l m g a p a c h e 1 u e e n e , q u e r y p a r j t e r o r g a o a e h e 1 u c e n e 1 a e e n e 开发包 图2 - 7l u c e n e 扩展接口 在搜索引擎的各种组件中,l u c e n e 是建立索引和索引检索工具,要构造索 引并进行检索,需要如下步骤: ( 1 ) 对文档预处理。 ( 2 ) 为要处理的文件内容建立索引 ( 3 ) 构建查询对象。 ( 4 ) 在索引中查找。 下面分别介绍l u c e n e 的索引工具和检索工具。 开发基于l u c e n e 的检索系统时,对数据源转化为文本文档后,就可以对这 些文本文档建立索引了。建立索引,需要用到一些类,它们分别是 i n d e x w r i t e r , d i r e c t o r y ,a n a l y z e r ,d o c u m e n t 和f i e l d 。这些类之间依赖关系如图2 - 8 所示。 图2 8l u c e n e 索引类类关系图 下面针对图2 - 8 ,对图中的几个类进行简要的说明。 1 2 ( 1 ) i n d e x w r i t e r :用户直接使用i n d e x w r i t e r 建立索引和维护索引。i n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版合同文件模板:技术咨询服务协议详解
- 物业空调漏水工程方案(3篇)
- 苏州建设工程方案公示网(3篇)
- 脊柱的外形与形态
- 建筑工地考试试卷及答案
- 模板工程安全措施方案(3篇)
- 2025年东农水电站考试试题及答案
- 2025简易房屋租赁合同范本
- 2025年氧气瓶项目提案报告模范
- 锅炉培训知识课件
- 粘膜免疫 2课件
- 电子课件-《可编程序控制器及其应用(三菱-第三版)》-A04-1724-课题一-可编程序控制器基础知识
- 统计业务知识(统计法规)课件
- 实验计划样表
- 三阶魔方入门教程课件
- 艾滋病个案流行病学调查表
- 广告策划与创意课件-2
- 地质勘察任务书模板
- 全国中心血站上岗证考试题库
- 环境社会学整本书课件完整版电子教案全套课件最全教学教程ppt(最新)
- 计算机组装与维护完整版课件(全)
评论
0/150
提交评论