1、厦门大学本科毕业论文 1/39 主题爬虫的设计与实现 摘要 Web信息分布的局部专题化是互联网信息所呈现的特征之一,伴随着面向主题信息获取的需求越来越多,用户希望主题信息获取能够做到领域信息搜集更完备、更新速度更快、并能够自动发现领域内的主要资源 ,进而研究主题信息的变化及其分布特征。 用户往往搜索到很多与自己本意不相关的结果,浪费了用户过多地筛选时间。在这种情况下,过滤掉与所搜索主题无关的结果,仅搜索与自己本意相关的主题成为一种必然要求。 本 网络爬虫搜索软件可实现专业搜索,用户搜索时将返回大量的与指定专业领域的结果。另外,此软件可 配置,可用于在网络上海量下载并筛选过滤和分类,非常适合资料
2、的整理。 关键词 中文 主题 爬虫 信息采集 专业搜索 厦门大学本科毕业论文 2/39 Design and Implementation For The Spider abstract Web distribution feature of the local is one of the characteristics for the information on the Internet. Along with the theme-oriented access to the information needs increasingly , users hope that the them
3、e can obtain information fields to collect information in a more comprehensive, updated faster, and can obtain the field of automatic discovery of major resources , then study information and its distribution characteristics . The Users often search of the many not related to their intended results,
4、 waste too much time screening. Under such circumstances, with the strip search unrelated to the theme, Search only with their related themes intended to be a necessary requirement. Search the Web crawler software to achieve professional search, users search will return with a large number of areas
5、designated professional results. In addition, this software can be configured, the network can be used to download and Shanghai volume screening filtering and sorting, very suitable for the collation of information. keywords Chinese spider information industry professional search 厦门大学本科毕业论文 3/39 目 录
6、 第一章 引言 . 7 第二章 主题爬虫的概述 . 9 2.1 主题爬虫的开发背景 . 9 2.2 程序处理流程 . 10 2.3 主题爬虫的运行环境 . 11 2.4 主体爬虫的运行界面介绍 . 11 第三章 主题爬虫的相关开发工具和技术简介 . 12 3.1 Java 程序设计语言简介 . 12 3.2 SQL Server2000 数据库简介 . 13 3.3 结构化查询语言简介 . 14 第四章 主题爬虫各模块设计与实现 . 16 4.1 主题 爬虫 的 程序总体结构 . 16 4.2 爬虫模块 . 17 4.2.1 爬虫模块功能描述 . 17 4.2.2 爬虫模块算法 . 17 4.
7、2.3 爬虫模块算法流程图 . 18 4.2.4 爬虫模块接口 . 18 4.3 网页处理模块 . 18 4.3.1 网页处理模块 功能描述 . 18 4.3.2 网页处理模块算法基本思想 . 19 4.4.3 网页处理模块算法流程图 . 20 4.3.4 网页处理模块接口 . 20 4.4 分词模块 . 21 4.4.1 分词模块功能描述 . 21 4.4.2 分词模块算法 . 21 4.4.3 分词模块算法流程图 . 22 厦门大学本科毕业论文 4/39 4.4.4 分词模块接口 . 22 4.5 主题过滤模块 . 22 4.5.1 主题过滤模块功能描述 . 22 4.5.2 主题过滤模块
8、算法 . 23 4.5.3 主题过滤模块接口 . 24 4.6 分类模块 . 24 4.6.1 分类模块功能说明 . 24 4.6.2 分类模块算法 . 24 4.6.3 分类模块算法流程图 . 25 4.6.4 分类模块接口 . 25 4.7 链接算法模块 . 25 4.7.1 链接算法模 块功能说明 . 25 4.7.2 算法 . 25 4.8 数据库模块 概念模型设计 . 26 4.8.1 数据 实体描述 . 26 4.8.2 数据实体 -关系图 . 27 4.8.3 实体关系描述 . 27 4.8.4 数据视图描述 . 27 4.8.5 数据库 一致性设计 . 27 第五章 总结与展望
9、 . 29 第六章 致 谢 . 30 第七章 参考文献 . 31 厦门大学本科毕业论文 5/39 CONTENTS CHAPTER 1 FOREWORD. 7 CHAPTER 2 SUMMARIZE FOR SPIDER. 9 2.1 BACKGROUND. 9 2.2 PROCESS. 10 2.3 RUN ENTIRONMENT. 11 2.4 INTRODUCTION FOR THE INTERFACE . 11 CHAPTER 3 INTRODUCTION FOR TOOLS AND TECHNOLOGY . 12 3.1 INTRODUCTION FOR JAVA . 12 3.2
10、INTRODUCTION FOR SQL SERVER2000. 13 3.3 INTRODUCTION FOR SQL. 14 CHAPTER DESIGN AND IMPLEMENT FOR SPIDER. 16 4.1 STRUCTURE . 16 4.2 REPTILE MODULE . 17 4.2.1 DESCRIBE FOR FUNCTION . 17 4.2.2 ARITHMETIC . 17 4.2.3 ARITHMETIC PROCESS PICTURE . 18 4.2.4 INTERFACE. 18 4.3 NET DISPOSE MODULE . 18 4.3.1 D
11、ESCRIBE FOR FUNCTION. 18 4.3.2 ARITHMETIC. 19 4.4.3 ARITHMETIC PROCESS PICTURE . 20 4.3.4 INTERFACE . 20 4.4 PARTICIPLE MODULE. 21 4.4.1 DESCRIBE FOR FUNCTION. 21 4.4.2 ARITHMETIC. 21 4.4.3 ARITHMETIC PROCESS PICTURE . 22 厦门大学本科毕业论文 6/39 4.4.4 INTERFACE . 22 4.5 TOPIC LEACH MODULE. 22 4.5.1 DESCRIBE
12、 FOR FUNCTION. 22 4.5.2 ARITHMETIC. 23 4.5.3 INTERFACE . 24 4.6 CLASSIFY MODULE . 24 4.6.1 DESCRIBE FOR FUNCTION. 24 4.6.2 ARITHMETIC. 24 4.6.3 ARITHMETIC PROCESS PICTURE . 25 4.6.4 INTERFACE . 25 4.7 LINK ARITHMETIC MODULE . 25 4.7.1 DESCRIBE FOR FUNCTION. 25 4.7.2 ARITHMETIC. 25 4.8 DATABASE MODEL
13、 MODULE . 26 4.8.1 DESCRIBE FOR DATA ENTITY . 26 4.8.2 DATA ENTITY CONNECTION PICTURE . 27 4.8.3 DESCRIBE FOR DATA ENTITY CONNECTION. 27 4.8.4 DESCRIBE FOR DATA VIEW . 27 4.8.5 DESIGN FOR DATABASE CONSISTENCY. 27 CHAPTER 5 CONCLUSIONS AND PERSPECTIVE . 29 CHAPTER 6 ACKNOWLEDGES. 30 CHAPTER 7 REFEREN
14、CES. 31 厦门大学本科毕业论文 7/39 第一章 引言 随着互联网的不断发展和日益普及,网上的信息量在爆炸性增长,在 2004年 4月,全 球 Web页面的数目已经超过 40亿,中国的网页数估计也超过了 3亿。目前人们从网上获得信息的主要工具是浏览器,而通过浏览器得到信息通常有三种方式。第一,直接向浏览器输入一个关心的网址( URL),例如 http:/,浏览器返回所请求的网页,根据该网页内容及其包含的超 链 接 文字( anchor text)的引导,获得自己需要的内容;第二,登录到某个知名门户网站,例如 http:/,根据该网站提供的分类目录和相关链接,逐步“冲浪”浏览,寻找自己感兴
15、趣的东西;第三,登录 到某个搜索引擎网站,例如http:/,输入代表自己所关心信息的关键词或者短语,依据返回的相关信息列表、摘要和超链接引导,试探寻找自己需要的内容。 这三种方式各有特点,各有自己最适合的应用场合。第一种方式的应用是最有针对性的,例如要了解北京大学计算机系网络与分布式系统实验室在做些什么工作,从某个渠道得知该实验室的网址为 http:/,于是直接用它驱动浏览器就是最有效的方式。第二种方式的应用类似于读报,用户不一定有明确的目的,只是想看看网上有什么有意思的消息 ;当然这其中也可能是关心某种主题,例如体育比赛,家庭生活等等。第三种方式适用于用户大致上知道自己要关心的内容,例如“中
16、草药”,但不清楚哪里能够找到相关信息(即不知道哪些 URL能给出这样的信息);在这种场合,搜索引擎能够为用户提供一个相关内容的网址及其摘要的列表,由用户一个个 查看 是否为自己需要的。现在的搜索引擎技术已经能做到在多数情况下满足用户的这种需要。 CNNIC的信息统计指出,目前搜索引擎已经成为继电子邮件之后人们用得最多的网上信息服务系统。 同时,随着网上信息资源规模的增长,尤其是其内容总体和我们社会 的演化发生着越来越密切的联系,研究网上存在的海量信息逐渐成为许多学科关注的一个方向。为此,不少研究人员也有采样搜集特定内容、一定数量网页的需要。 Web信息分布的局部专题化是互联网信息所呈现的特征之
17、一,伴随着面向主题信息获取的需求越来越多,用户希望主题信息获取能够做到领域信息搜集更完备、更新速度更快、并能够自动发现领域内的主要资源 ,进而研究主题信息的变化及其分布特征。由于主题信息一般只占整个 Web很小的一部分,并且具有分散性,因此传统的基于宽度优先或深度优先的搜索策略在 Web信息搜集的效率上难以达到期望要求 。面向主题的信息搜集系统的主要任务是利用有限厦门大学本科毕业论文 8/39 的网络带宽、存储容量和较少的时间,抓取尽可能多的主题网页。 主题爬虫的精度高于普通爬虫,具有可行性与实用性,并有助于主题搜索引擎的设计和主题信息的采集 ,符合广大用户的要求,具有很好的发展前景。 厦门大
18、学本科毕业论文 9/39 第二章 主题 爬虫 的 概述 2.1 主题爬虫 的 开发 背景 搜索引擎用户提供信息检索服务,大约经历了三代更新发展 :第一代出现于 1994年,此类搜索引擎索引网页少,极少重新搜集网页并刷新索引,检索速度非常慢 ;第二代大约出现在 19% 年,大多采用分布式方案来提高数据规模、响应速度和用户数量 ;1998年至今为第三代,索引数据库的规模 继续 增大,开始出现主题搜索和地域搜索,检索结果相关度评价成为研究的焦点,开始使用自动分类技术 按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类 :目录式搜索引擎、机器人搜索引擎和元搜索引擎 . 不论是从纵向看还是
19、横向看,目前的搜索引擎大多数是面向所有信息,可称之为综合性搜索引擎 ,随着信息多元化的增长,适用于所有用户的综合性搜索引擎显然已经不能满足特定用户更深人的查询需求,他们对信息的需求往往是针 对受限领域和面向特定主题,综合性搜索引擎的召回率和精确率都很低 .针对这种情况,需要一个分类细致精确、数据全面深人、更新及时的面向主题的搜索引擎,有人认为这种主题搜索引擎是第四代搜索引擎的发展方向 .主题爬虫是主题搜索引擎的基础与核心 . 厦门大学本科毕业论文 10/39 2.2 程序处理流程 S p i d e r M a i nS p i d e rD a t a b a s e3 . S t a r
20、tU r l L i s t2 . S u p p l y u r lE n d N oL i n k a g e4 . d o w n l o a d6 . P r o d u c tU r l L i s tU s e d4 . P r o d u c t1 . I n i t i a lU r l L i s tL i n k a g e6 . 1 p a s s u r l l i s tI n u r l L i s t , u r l L i s t U se d o r d a t a b a s e ?E n d6 . 2 . D e a l w i t h n e w u r
21、 l s6 . 3 . I n u r l L i s t ,O ru r l L i s t U s e d6 . 5 . N o t I n u r l L i s t ,U r l L i s t U s e d ,B u t I n d a t a b a s e .D e l e t e f r o m d a t a b a s e ,A n d a d d t o u r l L i s t U s e d6 . 4 . N o t I n u r l L i s t ,u r l L i s t U s e d o r d a t a b a s e .A d d t o u
22、r l L i s tL e a c h5 . P a s sS t o r e W e b C o n t e n t1 2 . s t o r e p a g eS t o r e U r l U s e d R e m a i nS t o r e U r l U n u s e d1 3 . S t o p A p p l i c a t o nL i n k a g e A d dI n s u b j e c t s ?S e g m e n t e r7 . L e a c hT h e m e F i l t r a t e8 . s p l i t9 . f i l t r a t eC l a s s i f y1 1 . c l a s s i f y1 0 . Y e s , p a s s1 4 . S t a r t t h r e a d s1 7 . S t o r e u r l1 6 . S t o r e u r l1 5 . S t a r t t h r e a d s图 2-1 程序处理流程图