北京航空航天大学计算机学院 远航1617 小组

产品版本: Beta版本

产品名称:Crawling   is going on

文档作者:杨帆

文档日期:2013/12/24

1.   引言

1.1      编写目的

  编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,

并为软件的维护和更新提供必要的信息。

1.2      参考资料

资料名称

作者

自己动手写网络爬虫

罗刚

Web数据挖掘

(Soumen Chakrabarti)查凯莱巴蒂

软件测试

肖汉

精通SQL Server   2008完全自学手册

金玉明

1.3      术语和缩写词

缩略语

全意

爬虫

一种自动获取网页内容的程序,是搜索引擎的重要组成部分

URL

中文名称为“统一资源定位符”,是互联网上标准资源的地址

过滤

去除网页中不符合需求的内容,例如广告等

线程

爬虫程序运行时的程序调度单位

2        软件概述

2.1      软件用途

  本软件用于自动获取网页内容,同时具有去广告,分类保存扒取到的文件,网页质量判定等功能。

是网上问答系统等搜索引擎的重要组成部分。

2.2      软件运行

  本软件运行在PC 及其兼容机上,使用WINDOWS 操作系统 ,需安装JDK以及JRE(建议使用最新版本)。

双击文件ThreadCrawler_final.jar运行软件。

2.3      系统配置

  本软件运行在PC 及其兼容机上,使用WINDOWS 操作系统,要求奔腾4以上CPU,512兆以上内存,

10G 以上硬盘。

2.4      软件结构


1.1      软件性能

  功能测试用例通过率达到94%。爬取的网页达到10^2数量级时,平均用时不超过1.5分钟。

  CPU占用率如下表:

序号

爬取数

CPU占用率(%

内存占用率(KB

1

10

2.28

174650

2

100

8.46

190878

3

1000

29.54

152768

可靠性,安全性,易用性均经过测试并达到测试要求。

1.2      输入、处理、输出

2.6.1   输入

1)     网络爬取过程开始的一个或多个源网址。

2)     预期抓取的网页数量。

2.6.2   处理

  程序将从源网址(输入1)开始依次爬取下一级链接或下一源网址队列中下一链接,爬取到预期爬取网页数量后(输入2)停止爬取。

  点击start键开始爬取。

  点击close键关闭软件。

2.6.3    输出

1)        已爬取的URL数;

2)        当前爬取URL;

3)        爬取进度;

4)        爬取状态;

5)        爬取的URL;

6)        本地File目录下爬取结果下载的文件内容,包含html等文件。

7)        数据库中保存文件的绝对路径、文件的下载地址及对应URL的网页编码与类型、对当前文件的下载时间、

    更新时间集、以及最后一次操作时间等信息。

8)        对于当前数据库中文件类型的统计,以饼状图的形式展示。

3          软件使用过程

3.1      软件安装

  将软件压缩包中的全部文件解压到本地。

3.2      运行说明

  本软件需运行在WINDOWS操作系统下,并需要安装最新版本的JDK和JRE。

  配置数据库到Windows(或Windows server)数据源中,数据库名为yuanhang。数据库中包括:被抓取网页的类型、

编码等信息;文件下载后在本地的存储路径;文件的下载时间记录、更新时间记录、最后一次更新记录。

  软件安装完成后,双击运行ThreadCrawler_final.jar文件进入软件操作界面。

3.3      控制输入

1)    运行软件出现主界面后,在主界面的select the file中选择源网址输入方式。若源网址只有一个,输入方式选择No,

   在URL seed中输入唯一源网址;若需爬取多个源网址,输入方式选择Yes,并在目录下test.txt文件中输入源网址队列。

   输入格式为:每个源网址占一行,回车换行。

2)    在主界面how much pages中输入想要抓取的网页数量。

3)    点击“start”按钮开始爬取。

3.4      输出文件

  在本地File路径下为爬取结果下载的文件内容,包含html等文件。

  在数据库中保存本地文件的绝对路径、文件的下载地址及对应URL的网页编码与类型、对当前文件的下载时间、

更新时间集、以及最后一次操作时间等信息。

3.5      输出报告

  在主界面中会显示已爬取的URL数、当前爬取URL、爬取进度、爬取状态、爬取的全部URL。

3.6      数据库文件分析

  点击主界面analyse键,可对当前数据库内文件类型以及数量信息进行统计,并以饼状图展示。

3.7      非常规过程

  如果出现不可能处理的问题,可以直接与远航1617 小组的技术支持人员联系团队博客:

  http://www.cnblogs.com/yuanhang1617

4        软件维护过程

4.1     源程序清单

本软件源程序全部位于default package包中,共包括9个文件:

ConnectServer.java

CraUi.java

DownLoadFile.java

HtmlParserTool.java

LinkFilter.java

LinkQueue.java

MyCrawler.java

Queue.java

Url.java


Beta版本软件使用说明的更多相关文章

  1. 【Beta】软件使用说明——致社长

    目录 社团公众号关联上"北航社团帮"小程序 为什么要关联上"北航社团帮"小程序: 如何进行关联: 小程序中的社长相关功能 如何认证成为社长 如何管理社员.增删管 ...

  2. Beta版软件使用说明

    1引言 1 .1编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,并为软件的维护和更新提供必要的信息. 1 .2参考资料 1 .3术语 ...

  3. Beta版本 为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。

    Beta版本 软件的测试版本,经常在各类著名软件中的前期发布版本的后缀中可见,包括大名鼎鼎的windows系统,这个阶段的版本一直加入一些新的功能. 软件测试可分为alpha测试.beta测试和联合测 ...

  4. 第02组Beta版本演示

    组长博客 组名:十一个憨比 本组组员: 学号 姓名 分工 贡献比例 181700413 黄智 写Beta冲刺的四次博客,写评审表,写word,统筹规划 9% 131700309 林闽沪 代码实现,答辩 ...

  5. 第01组 Beta版本演示

    目录 1.1 本组成员 1.2 工作流程.组员分工.组员工作量比例 1.3 GitHub 项目链接 1.4 本组 Beta 冲刺站立会议博客链接汇总 1.5 燃尽图 1.6 原计划.达成情况及原因分析 ...

  6. 【软件工程】Beta版本演示

    团队信息 队名:女生都队 组长博客: 博客链接 成员 学号 史恩泽(组长) 031702122 施金海 031702121 阮君曦 031702116 陈银山 031702137 李季城 031702 ...

  7. PSP Daily软件beta版本——基于NABCD评论,及改进建议

    1.根据(不限于)NABCD评论作品的选题: 此软件的用户人群较为明确,即:用户(软件工程课上学生)记录例行报告.写每周PSP表格和统计的需求.潜在用户还有未来该课堂的学生和需要用PSP方法记录任务完 ...

  8. PSP Daily软件beta版本——基于spec评论

    题目要求: 每个小组评论其他小组beta发布作品的软件功能说明书. 试用(并截图)所有其他小组的beta作品,与软件功能说明书对比,评论beta作品对软件功能说明书的实现. 根据软件功能说明书,测试所 ...

  9. 第08组 Beta版本演示

    简介 组名:955 组长博客:点这里! 成员 031702329庄锡荣(组长) 031702309林晓锋 031702309侯雅倩 031702311陈珊珊 171709030吴珂雨 03170231 ...

随机推荐

  1. Tomcat问题之 启动 Cannot find /usr/local/tomcat/bin/setclasspath.sh

    在linux启动startup命令报Cannot find /usr/local/tomcat/bin/setclasspath.sh  使用: unset CATALINA_HOME命令得以解决   ...

  2. java并发实战:连接池实现

    池化技术简介 在我们使用数据库的过程中,我们往往使用数据库连接池而不是直接使用数据库连接进行操作,这是因为每一个数据库连接的创建和销毁的代价是昂贵的,而池化技术则预先创建了资源,这些资源是可复用的,这 ...

  3. 学习新框架laravel4 第三天

    请求与输入 获取请求参数 如果没有传递默认值位1 $id= Input::get('id',1); //获取所有请求内容 Input::all() 取得请求 URI $uri = Request::p ...

  4. Java设计模式(5)——创建型模式之建造者模式(Builder)

    一.概述 概念 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示.(与工厂类不同的是它用于创建复合对象) UML图   主要角色 抽象建造者(Builder)——规范建造方法与结果 ...

  5. Windows下MySQL多实例运行(转)

    关键字:Windows下MySQL多实例运行 阅读前注意事项: 1.有的版本的data目录不直接放在mysql安装目录下,有可能在:C:\ProgramData\MySQL\MySQL Server ...

  6. substr是不安全的

    今天遇到一个问题,数据库中保存的内容通过php在页面无法显示,如果将内容换行或加个空格或者随便加点其他内容就能正常显示. 非常的诡异,显示的内容是通过截取得到的.代码非常简单 substr($pMar ...

  7. iOS的内存分配

    iOS中的内存大致可以分为代码区,全局/静态区,常量区,堆区,栈区. 1.代码区 代码段是用来存放可执行文件的操作指令(存放函数的二进制代码),也就是说是它是可执行程序在内存中的镜像.代码段需要防止在 ...

  8. 「赛后补题」Meeting(HDU-5521)

    题意 A,B两个人分别在1和n区.每个区有若干点(区之间的点可以重复,各个区内点间的距离一致),给出区之间有联系的图以及到达所需时间.求两个人见面最短时间以及在哪个区碰面(可有多个) 分析 隐式图搜索 ...

  9. 第一篇 Flask基础篇之(配置文件,路由系统,模板,请求响应,session&cookie)

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  10. git 从头开始

    下载安装git 打开git,输入以下命令,引号内的为你自己的名字和邮箱 git config --global user.name "Your Name"git config -- ...