毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
面向主题的网络蜘蛛爬虫研究与设计+流程图(3)
2.需求分析
2.1.功能分析
本系统开发的总体任务是:
1、锁定某个主题抓取;
2、能够产生日志文本文件,格式为:时间戳(timestamp)、URL;
3、抓取某一URL时最多允许建立2个连接;
4、遵守文明蜘蛛规则:必须分析robots.txt文件和meta tag有无限制;一个线程抓完一个网页后要sleep 2秒钟;
5、能对HTML网页进行解析,提取出链接URL,能判别提取的URL是否已处理过,不重复解析已crawl过的网页;
6、能够对spider/crawler程序的一些基本参数进行设置,包括:抓取深度(depth)、种子URL等;
2.2. 性能分析
先进性:采用成熟的计算机软件技术,保障系统适应今后技术发展的需要
可靠性:有一个稳定可靠的系统是确保整个系统正常运行的关键。
安全性:整个系统不应由于操作失误,甚至恶意攻击而遭到破坏。
3.系统概设计
3.1.系统总体工作流程
图1 Spider详细工作流程
3.2.功能模块设计
(1)主题爬虫URL的处理流程
图2 URL状态流程图
(2)抓取算法
爬虫抓取过程中使用了五个队列,分别是等待队列,处理队列,错误队列,完成队列,抛弃队列。
等待队列:爬虫解析到的url先保存到等待队列中,在等待队列中的u rI按照特定的排序法则进行排序,等候爬虫的抓取。
运行队列:url正在被抓取时放进抓取队列,目的是防止url被同时多次抓取。
错误队列:在抓取过程中出错的urI保存到错误队列。
完成队列:一个url被爬虫完全抓取之后就将url放进完成队列。
爬虫的抓取算法如下:
(1)将初始页面url集合放进等待队列,分配每个url一个相关性消息值m,并给每个url同样的相关度值。
这个相对于后面将要计算到的值较大,初始页面会人为根据主题进行筛选,所以与主题的紧密度高。人为的给定一个高的相关度值优点有两个,首先,减少爬虫的计算量,这些种子站点不需要通过相关度的计算。其次,可以在等待队列中置于较靠前的位置,在以后的更新过程中,可以优先更新。
(2) 对等待队列中的url,先根据m值大小排序,再根据相关度的大小排序。
(3) 根据第二步排好序的等待队列,将排序最前的url拿出放进处理队列,爬虫开始抓取。
(4) 下载网页到本地磁盘,并建立索引,然后将url地址放进完成队列。
(5)利用解析器解析出网页中的链接与对应的链接文本,并计算链接地址的相关度值。
(6) 将第5步得到的相关度值与相关度阀值f进行比较,结果分为三种情况:
第一种情况是相关度值大于相关度阀值,且父网页的相关性消息m值等于初始值,则直接传递父网页的m 值给子网页。
第二种情况是相关度值大于相关度阀值,且父网页的相关性消息m 值小于初始值,则恢复m 值为初始值,传递m 值给子网页。
第三种情况是相关度值小于相关度阀值,则将父网页的m 值乘以遗传基因比例b传递子网页的(b值大于0小于1),子网页的相关性消息值是m*b。
(7) 将url,m值,相关度值放进等待队列,重复第二步。
(8) 算法结束。
4.系统实现
4.1. 实现工具
操作系统是winXP,JAVA程序的编写工具是eclipse-SDK-3.2.1-win32
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
数据挖掘中的隐私保护技术研究
下一篇:
JSP在线选课系统设计+需求分析+可行性分析
数据挖掘的主题标绘数据获取技术与实现
无跳线主板BIOS高级设置【706字】
联结主义的连续记分IRT模...
Project软件的主要功能及基...
提高网站茬Google中的排名...
互文性:网络时代對后结...
Web的多媒体CAI課件开发過...
国内外图像分割技术研究现状
10万元能开儿童乐园吗,我...
AT89C52单片机的超声波测距...
承德市事业单位档案管理...
神经外科重症监护病房患...
公寓空调设计任务书
C#学校科研管理系统的设计
医院财务风险因素分析及管理措施【2367字】
中国学术生态细节考察《...
志愿者活动的调查问卷表