1、网络爬虫项目小组成员:进度安排:一、项目总概:() (2011/10/15-2011/10/22)1、 项目背景网络爬虫是通过网页的链接地址来寻找网页,从网站的某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络爬虫就可以用这个原理把互联网上所有的网页都抓取下来。2、 需求分析应该具有的基本功能,包括:下载网页、分解网页、遍历网络、存储网页等3、 概要设计(1) 技术选型本项目选用的开发语言是 C+,它是静态 C+对象模型到 CLI 的动态组件
2、对象编程模型的捆绑。(2) 系统架构站点列表里面存储着用户指定的网站首页 URL,程序运行后将其插入到优先队列,下载模块从优先队列里取出 URL,把对应的网页下载下来,然后将网页源码交给分析模块,分析模块对网页进行分解,分析模块维护着一张字典或Hash 表,记录着所有已经访问的 URL,然后分析模块将所有未访问过的链接URL 提取出来插入到优先队列,再把提取出的网页的标题、内容、大小等信息存入数据库。整个虚线方框里的过程是不断循环往复的,直到优先队列为空。本项目用优先队列来实现启发式搜索,优先队列中元素的优先级指的是 URL 的重要程度,它取决与 URL 的层次(3) 数据结构项目采用两个表,
3、一个是站点列表,一个是网页存储表站点列表:包含主键(ID) ,网站首页,网站名称,站点优先级网页存储表:包含主键(ID) ,网站网址,网站标题,网页内容,网页中的链接文字,网页的大小,网友的域名,网页的出度(链接数) ,网页的优先级(4) 网络 IO 模型项目设计成多线程可以提升速度(5) 开发及运行环境开发平台:Windows XP服务器操作系统:Windows Server 2000/2003 运行环境:Microsoft .Net2.0 Framework 数据库:sqlserver2000开发语言:C+开发工具:vc6.0二、部分功能的实现() (2011/10/22-2011/10/31)下载网页、分解网页、遍历网络、存储网页三、数据库结构设计() (2011/10/31-2011/11/5)四、加入多线程设置() (2011/11/5-2011/11/10)五、程序调试() (2011/11/10-2011/11/16)