• c#项目源码 > 网络蜘蛛项目开发报告
  • 网络蜘蛛项目开发报告

    免费下载 下载该文档 文档格式:DOC   更新时间:2007-11-06   下载次数:0   点击次数:2
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:User
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    网络蜘蛛项目开发报告
    孙君意 中科院计算技术研究所
    sunjunyi@software.ict.ac.cn
    摘要:本项目基于微软.Net2.0平台,用C++/CLI 编程实现了网络蜘蛛(Web Spider).该蜘蛛可以访问用户指定的一个或多个站点,遍历站点内的所有网页,并且把网页分解成标题,纯文本内容,网页大小等属性,然后保存在ACCESS数据库中.
    关键词:网络蜘蛛,搜索引擎,.Net2.0
    Abstract: This program is a Web Spider which was implemented with C++/CLI language based on Microsoft .Net 2.0 Framework. The spider can travel on one or more sites given by user, and split the web page into elements of title, plaint text, page size and so on, and then save them into an ACCESS database.
    Key Words: Web Spider, Search Engine, .Net2.0
    目 录
    项目背景
    网络蜘蛛即Web Spider,是一个非常形象的名字.把互联网比喻成一个蜘蛛网,那么Spider程序就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从网站的某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止.如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来.
    需求分析
    本节内容将简要的分析一下一个网络蜘蛛应该具有的基本功能,包括:下载网页,分解网页,遍历网络,存储网页等.
    网络蜘蛛的技术难度并不是很高,但是要开发一个速度快,稳定性高的网络蜘蛛还是要下一番功夫的.
    下载网页
    网络蜘蛛最基本的功能是能够从给定的网址下载网页.这个过程看似简单,但却要考虑几个问题.
    首先,要解决网页的编码问题,Internet联通世界各个角落,每个国家和地区的网站使用着不同的编码,即使同在一个国家的网站其使用的网页编码规则也不尽相同.比如说在我国,有些网站使用UTF-8编码,有些则使用GB2312.如果Web Spider对网页的编码不加判断的话,很有可能出现乱码.
    其次,网络的访问速度相对与CPU的运算速度来说是非常慢的,因此,如果Web Spider被设计成单线程的阻塞模型的程序的话,其抓取速度必然不能让人满意.可以考虑采用多线程或采用其它的IO模型来提升蜘蛛的抓取速度.
    第三,网络蜘蛛只下载网站中的文本信息(如:HTML页面,ASP,PHP,JSP等等),并不下载图片,软件,视音频文件等等.
    分解网页
    网络蜘蛛并不是单纯的把网页批量下载到本地硬盘的工具,它的目标是从网页中提取一定的结构化的信息,比如说网页的标题,网页的内容,网页的大小,网页中的链接等等.
    网页的内容并不是简单地指网页的HTML代码,因为大部分的HTML标签以及JavaScript代码对我们的后期要进行的查询工作等都是冗余的,所以应该将它们剔除.
    网页的标题并不是简单地指网页源码中Title标签内的文本,而是指网页源码中最能概括出该网页内容的某句话.
    提取网页的链接也不只是简单地提取HTML源码中所有"href"后面的URL,还包括框架页面,以及脚本中的自动转向页面地址.
    遍历网络
    本项目要开发的蜘蛛与Google等大型搜索引擎的蜘蛛不同,它的访问范围并不是整个互联网,而是用户指定的一个或多个网站,因此蜘蛛在遍历网络的时候不能够漫无边际的爬行,而是在制定的范围内.
    网络遍历的算法可以是深度优先搜索,宽度优先搜索,启发式搜索等算法.笔者在开发中使用了启发式搜索,在3.2节中会有详细的叙述.
    存储网页
    由于本项目只是专注与网络蜘蛛的实现,并不需要优化的全文检索存储方案,为了便于测试,可以选用ACCESS数据库,它简单易用,可以胜任小批量的查询工作.网络蜘蛛把网页中的相关信息抽取出以后插入到数据库的对应字段中.
    概要设计
    技术选型
    本项目选用的开发语言是微软的C++/CLI,它是静态C++对象模型到CLI的动态组件对象编程模型的捆绑.简而言之,它就是你如何用C++在.NET中编程,而不是C#或Visual Basic.NET.

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • qvod电影网站整站源码  源代码迅雷高清下载  源代码高清在线观看  源代码  源代码下载  源代码高清  项目  致富网小投资项目2011  投资项目