北京航空航天大学计算机学院 远航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. jQuery实现 自动滚屏操作

    实现自动滚屏思路: 1.滚屏即:文本的往上移动一段距离: 2.那么我们使文本每过一段时间就往上移动一段固定距离,就可实现滚屏: 3.直到文本底部出现在浏览器窗口中,专业点就是 文本移动的距离 + 浏览 ...

  2. 增强for循环和迭代器

    package example6; import java.util.ArrayList;import java.util.Iterator;import java.util.List; class ...

  3. md5加密+盐方式一

    这种方法是采用随机生成盐值加入password中组合成的新密码,下面是md5+盐的一个工具类,直接导入使用即可! 工具类 package com.oracle.utils; import java.s ...

  4. python中的super怎么用?

    面向对象有这个强大特点和作用, 著名的三大特点:封装, 继承, 多态 这篇博客写的是super()的简单理解和使用 今天在读restframework的源码的时候, 发现源码中使用了super, 依以 ...

  5. day 23 模块2

    1.namedtuple     命名元组  -> 类似创建一个类 from collections import namedtuple   # 类 p = namedtuple("P ...

  6. Linux的数据传输

    1. sz 与 rz sz:将选定的文件从本地发送(send)到远端机器 rz:运行该命令会弹出一个文件选择窗口,从本地选择文件夹,接收(receive)从远端的文件 mac 下使用 brew 安装: ...

  7. Learning Experience of Big Data: Deploying Tomcat 8.0 and connect ssh without password

    This mission seems to be easier--we can just decompression Tomcat to our virtural machine and deploy ...

  8. 一、Django初级

    创建项目,也就是网站 1.cmd,输入:pip3 install Django==2.1.2 2.>>>import django 3.cmd进入需要建项目的文件夹,django-a ...

  9. Python写网络后台脚本

    Python写网络后台脚本. 首先安装Python3.6.5,在centos中自带的Python是2.6版本的,现在早就出现了3.6版本了况且2和3 之间的差距还是比较大的,所以我选择更新一下Pyth ...

  10. N个点中寻找多个最近两点的计算O(N²)

    #include<math.h> #include<stdio.h> #include<stdlib.h> typedef struct point { float ...