[关键词] 搜索引擎;网络蜘蛛;过滤器;HTMLParser
1.1 课题背景
互联网已经成为人类历史上最大的资源和信息库,人们越来越依赖互联网来寻找自己所需要的信息。但是,互联网上的资源的组织非常杂乱无章,需要靠搜索引擎(Search Engine ,简称SE) 来将这浩如烟海的资源有机地组织起来,使人们能够方便地在网上搜寻到自己所需的信息。可以说,搜索引擎在用户的上网过程中扮演者一个导航灯的作用。但是,迄今为止,没有一个搜索引擎能够涵盖到整个互联网。并且,搜索引擎不同,它采用的搜索算法、排序算法、后端数据库的大小、提供的服务以及用户接口的设计都是不同的。
作为搜索引擎的基础组成部分,网络蜘蛛起着举足轻重的作用,随着应用的深化和技术的发展,网络蜘蛛越来越多的应用于站点结构分析、内容安全监测、页面有效性分析以及个性化信息获取等。网络蜘蛛在采集Web信息时,从一个起始URL开始,通过HTTP请求下载Web页面,分析页面并提取连接,然后采集到对应连接的内容[3]。
2.1 网络蜘蛛在搜索引擎中的作用
网络蜘蛛(即Web Spider),也称作网络机器人,实际上是一个基于HTTP协议的网络应用程序。如果把浩瀚的互联网比做是一个巨大的蜘蛛网,网络蜘蛛则是这张网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从某一个页面开始,读取网页的内容,并抽取出网页中的其他超链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。网络蜘蛛Web的搜索是一个循环迭代的过程。
简单的说,搜索引擎的工作包括如下三个过程:
1.利用蜘蛛系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。
2.由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息,根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
3.当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户[10][12]。
而发现、搜集网页信息需要有高性能的“网络蜘蛛”程序(Spider)去自动地在互联网中搜索信息。一个典型的网络蜘蛛工作的方式:查看一个页面,并从中找到相关信息,然后它再从该页面的所有连接中出发,继续寻找相关的信息,依次类推。
目 录
1 引言 1
1.1 课题背景 1
1.2 网络蜘蛛介绍 1
1.2.1 网络蜘蛛的起源 1
1.2.2 网络蜘蛛的发展历程 2
1.3 关键技术 4
1.3.1 B/S结构 4
1.3.2 JSP技术 5
1.3.3 Struts 2 5
1.4 论文研究的内容 6
2 网络蜘蛛工作原理 6
2.1 网络蜘蛛在搜索引擎中的作用 6
2.2 网络蜘蛛的爬行策略分析 6
2.2.1 图的宽度优先遍历 7
2.2.2 带偏好的爬虫遍历 8
2.2.3 优先级队列 9
3 htmlparser介绍 9
3.1 htmlparser简介 9
3.2 主要应用 9
3.3 数据组织分析 10
3.4 Visitor方式访问Html 10
4 系统分析和设计 11
4.1 开发环境介绍 12
4.2 系统模块分析 12
4.2.1 新闻链接模块分析 12
4.2.2 新闻内容模块分析 12
4.3 系统的模块设计 13
4.3.1 新闻链接模块设计 13
4.3.2 新闻内容模块设计 13
4.4 数据库的分析和设计 14
4.4.1 数据库分析 14
4.4.2 数据库设计 14
5 系统实现 15
5.1 新闻链接的爬取 15
5.1.1 网络蜘蛛采集页面 15
5.1.2 URL简单验证 15
5.1.3 新闻链接的爬取 16
5.2 新闻内容的爬取 19
5.3 数据库实现 21
6 系统测试与运行 24
6.1 系统测试目标 24
6.2 软件测试 24
6.2.1 测试的基本概念 24
6.2.2 测试步骤 25
6.2.3 本系统测试 26
结束语 27
参考文献 28
附录 29
致谢 30