网络爬虫需求说明书_第1页
网络爬虫需求说明书_第2页
网络爬虫需求说明书_第3页
网络爬虫需求说明书_第4页
网络爬虫需求说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案卷号日期网络爬虫软件需求说明书作者: 完成日期: 签收人: 签收日期: 修改情况记录:版本号修改批准人修改人安装日期签收人目录TOC\o"1-5"\h\z\o"CurrentDocument"软件需求说明书 1\o"CurrentDocument"1 引言 31.1 编写目的 3\o"CurrentDocument"1.2 范围 3\o"CurrentDocument"1.3 定义 31.4 参考资料 3\o"CurrentDocument"2 项目概述 32.1 产品描述 32.2 产品功能 42.3 用户特点 52.4 一般约束 52.5 假设和依据 6\o"CurrentDocument"3 具体需求 63.1 功能需求 6\o"CurrentDocument"3.1.1 用户登录 6\o"CurrentDocument"3.1.2 用户退出 6\o"CurrentDocument"3.1.3 网页遍历 6\o"CurrentDocument"配置 9\o"CurrentDocument"统计 10\o"CurrentDocument"3.1.6 网页快照 10\o"CurrentDocument"3.1.7 服务启动 11\o"CurrentDocument"3.1.8 服务终止 11\o"CurrentDocument"3.2 外部接口需求 11\o"CurrentDocument"3.2.1 用户接口 11\o"CurrentDocument"3.2.2 硬件接口 12\o"CurrentDocument"3.2.3 软件接口 12\o"CurrentDocument"3.2.4 通信接口 12\o"CurrentDocument"3.3 性能需求 123.4 设计约束 133.4.1 其他标准的约束 133.4.2 硬件的限制 13133.5属性13\o"CurrentDocument"可用性 13\o"CurrentDocument"安全性 13\o"CurrentDocument"3.5.3 可维护性 133.5.4 可转移\转换性 13\o"CurrentDocument"警告 133.6其他需求 13\o"CurrentDocument"3.6.1 数据库 13\o"CurrentDocument"操作 133.6.3 场合适应性需求 13\o"CurrentDocument"4附录 131引言1.1编写目的软件需求说明书的编制是为了使用户和软件开发者双方对该软件的运行环境、功能和性能需求的初始规定有一个共同的理解,使之成为整个开发工作的基础,为概要设计提供需求说明。1.2范软件系统的名称:《网络爬虫》《网络爬虫》是一个由C/C++开发,运行在Windows平台上的网络爬虫(蜘蛛)程序,它可以高效地从互联网上获取海量资源,这些资源包括网页文本信息,图片,其他类型的文件资源。1.3定义HTTP协议:中文名称超文本传送协议。英文名称:hypertexttransportprotocol;HTTP定义:一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。URL:统一资源定位符(英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。1.4参考资料无2项目概述2.1产品描述网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

产品功能软件功能表模块功能说明用户管理用户登录用户名和密码保存在配置文件中用户登录(网络版)用户名和密码等数据保存在服务器的Oracle数据库中退出网页遍历开始遍历实时统计下载网页个数、失败网页个数、接收到的字节数、发送字节数、平均字节数网页数据保存历史记录保存下载的信息保存在服务器的Oracle数据库中。结束遍历配置修改配置本地保存路径、启动线程数量、单个文件下载时限统计全局统计信息累积的统计信息。统计项跟实时统计类似。网页快照搜索功能服务器服务启动服务终止软件层次结构图网络爬虫 <载贺时统讣网络爬虫 <载贺时统讣'载统订服务<1刈;<闭服势2.3用户特点2.4一般约束使用的技术:《网络爬虫》软件体系结构使用C/S架构(客户机和服务器结构)。使用C++作为编程语言,利用面向对象的编程思想实现.。需要使用STL(C++的标准模板库)、WindowsAPI(多线程、网络编程等)、ADO和SQL等技术。开发环境:在WindowsXP环境下,使用MicrosoftVisualStudio2010开发工具,建模工具starUML、Oracle数据库等。2.5假设和依据3具体需求3.1功能需求3.1.1用户登录引言:只有合法的用户才可以登录系统。登录系统很简单,只需要提供登录的用户名和密码即可登录系统。提供三次登录机会。《网络爬虫》这个项目中正常不需要登录功能,加这个功能主要考虑让学员能够使用面向对象的编程思想来实现,跟面向过程的编程思想做个对比。输入:1、用户名:字符串,最大长度10。2、 密码:字符串,最大长度6。使用“*”显示密码。处理:1、从指定的数据源中获得数据,判断用户名和密码是否正确。如果是单机版从配置文件中读取用户名和密码。如果是网络版,用户名和密码从服务器的数据库中获得。2、用户登录时最多有三次出错机会。输出:1、如果验证错误,给用户友好提示,并显示剩余的次数。2、用户名和密码验证正确后,进入主菜单界面。3.1.2用户退出引言:用户选择退出时,给用户友好提示,询问用户是否确认退出?用户确认后退出整个应用程序。3.1.3网页遍历引言:输入一个链接,作为第一个要下载的网页。此外,一个非常重要的参数是选择遍历的深度,这个参数确定您遍历某个域名能达到的最大深度,例如,每当遍历的深度增加1层,遍历的Url个数可能会指数倍增长。从这个网页开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到满足深度的条件为止。输入:参考开始遍历功能。处理:开始遍历 保存网页 保存URL数据 结束遍历输出:无。开始遍历引言:该功能遍历玩家指定的URL功能,界面提供一个输入URL的输入框和深度的输入框,起始url深度为0,在这个初始网页中的所有链接深度是1,同样,在这些链接指向的页面中的链接深度为2,以此类推等等。例如:比如当前页面为A,爬虫从A这个页面有搜索到一个新的URL为B,然后以B作为新的搜索页面继续进行搜索,如果在B页面里面搜索到URL为C,这样A(0)->B(1)->C(2)的深度为2。用户单击开始遍历按钮后,应用程序根据下文提到的配置规则开始遍历指定的URL,直到遍历结束或用户单击下停止遍历按钮。输入:1、 URL:网页地址。字符串,必填,最大长度100。2、 深度:遍历某个URL能达到的最大深度。整数,范围0~3。0代表只下载当前一个网页。处理:1、验证URL是否合法。2、 向网页地址所在的服务器发送get请求,接受服务器传过来的数据。3、 解析数据,提取URL。4、 使用多线程并发处理多个链接。输出:1、 所有输入不按规则输入,均给出相应错误提示,提示要有针对性。输入错误的控件获得焦点,并且跟其他控件有明显的区别显示。2、 单击开始后,进入实时统计界面。实时统计引言:针对此次遍历过程中的操作进行统计,主要从以下几个方面进行统计1、下载网页数一共成功下载了几个网页。2、失败网页数此次遍历过程中,下载失败的网页数量。3、发送的字节数此次遍历过程中,经过网络发送的总字节数,指的是get请求。4、接收的字节数此次遍历过程中,接收到的总字节数。5、平均传输速度此次遍历过程中,平均每秒接收的字节数,以KB/S作为单位。输入:无处理:1、每隔一秒,计算平均的传输速度。2、根据不同的情况累加各项数据。输出:1、在界面上显示以上5项数据。每一秒钟刷新一次。网页数据保存引言:开始遍历后,在配置模块中指定的保存路径下创建一个该域名的文件夹,以后将下载到的网页文件均保存到该文件夹中。,然后输入:处理:1、 向网页地址所在的服务器发送get请求。2、 接收网页地址所在的服务器发送过来的网页数据。3、 接收完毕后分析网页的数据,分别再下载跟这个网页有关的图片,js和css文件等相关网页资源。输出:1、把数据保存到指定的文件夹下。文件名可以使用URL数据保存引言:每个网页数据保存后,要把相关的数据发送到服务器端应用程序并保存到数据库中输入:输入的数据由之前的功能提供。1、 URL:网页地址。2、 关键字:网页中的关键字。vmeta>标签中,name属性值为“keywords”,content属性的内容,例如:vmetaname="keywords"content—HTML,ASP,PHP,SQ!">,红色部分就是网页的关键字。3、 网页保存的路径,包含文件名。处理:1、 把数据发送到服务器端的应用程序。2、 在服务器端的应用程序中把数据保存到数据库相关的表中。3、 在服务器端的应用程序中把处理数据的结果返回给客户端的应用程序。输出:无结束遍历引言:应用程序处于遍历URL的状态下,用户按下结束遍历功能,则结束该次遍历操作。输入:1、给客户一个提示,客户选择“是”之后再终止遍历。处理:1、等待正在下载的网页都处理后,结束遍历。输出:1、在等待的过程中应给客户友好提示。3.1.4配置引言:通过配置这个功能修改用户配置文件中的数据。用户配置文件就是在用户登录电脑时,或是用户在使用软件时。软件系统为用户所要加载所需环境的设置和文件的集合。进入配置功能时,先从用户配置文件中读取相关的数据,然后把配置文件中的数据显示出来。单击保存按钮修改配置文件,单击取消按钮退回主菜单界面。如果设置有修改过应给用户提示友好提示,用户确认不保存后再退出。网络爬虫的配置文件提供了以下几项设置:设置说明保存路径用来设置保存下载到的网页文件的路径,进入该配置页面时,要求提供一个默认的保存路径,这样用户如果没有进行配置就进行搜索的时候,就使用该默认值。线程数数量启动线程数量用来指定在应用程序搜索整站时使用的线程数,线程数范围为(1〜10),采用线程是为了提高并发搜索的速度。下载时限下载网页文件时,有可能由于文件太大导致耗时太久,通过设置每个网页允许的下载时限来避免此类问题的产生,用秒作为单位,要求大于等于10秒服务器IP服务器的IP地址端口客户端和服务端应用程序之间的通讯端口输入:1、保存路径:必填,字符串,最大长度100,相对路径或者绝对路径。2、线程数数量:必填,整数,范围1~10。3、下载时限:必填,整数,秒作为单位,范围>=10。4、 服务器IP:必填,点分十进制表示,如1。每个10进制数字取值范围0〜255。5、 端口:必填,整数,范围1024~65535。处理:1、 判断保存路径是否合法,在windows操作系统路径不能包含“/*?”等字符。2、 如果输入的文件夹不存在,则应用程序要创建一个新的目录出来。输出:1、 所有输入不按规则输入,均给出相应错误提示,提示要有针对性及友好。输入错误的控件获得焦点,并且跟其他控件有明显的区别显示。2、 数据修改后保存到配置文件中。3、 保存成功后应给用户一个友好提示。3.1.5统计引言:没有使用网页遍历功能前,统计功能中相关数据显示都是零,统计功能和实时统计功能显示的数据基本一样(具体请参考实时统计功能)。统计功能统计的是累积N次使用网页遍历功能后,相关数据之和。下载网页数指的是总下载网页数;失败网页数指的是总失败网页数;发送的字节数指的是总发送字节数;接收的字节数指的是总接收字节数。另外一个区别的是平均传输速度的算法。统计功能中的平均速度=接收的字节数/下载总时间3.1.6网页快照引言:允许用户输入关键字,从已下载的网页文件中搜索出包含该关键字的网页对应的URL,当用户选中对应的URL后,可以显示该URL对应的网页内容(即打开该网页)。输入:1、关键字:必填,字符串,用于搜索。最大长度20。处理:1、 把关键字数据发送到服务器端。2、 服务器端应用程序从数据库中与关键字匹配的记录。3、 服务器端应用程序把搜索到的有关记录返回给客户端应用程序。输出:1、 没有搜索到记录给用户友好提示。2、 在界面上使用列表的形式输出从服务器端应用程序返回的数据。输出URL和该链接的关键字这两项内容。3、 选中对应的URL后,调用浏览器打开该网页。不是使用URL打开互联网的网页,打开的是保存在网页保存路径中的网页文件。3.1.7服务启动引言:服务的启动属于服务器端应用程序。服务器端应用程序启动后,提供两个按钮,一个按钮用于服务的启动。一个按钮用于服务的终止。服务启动后,服务器端应用程序负责监听客户端,处理客户端发来的请求。在界面上显示服务器端应用程序的日志。输入:接收客户端发来的数据。处理:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论