- 3
- 0
- 约5.54千字
- 约 10页
- 2019-04-22 发布于江苏
- 举报
主题网络蜘蛛程序设计及JAVA实现
祝庆荣
(华南理工大学计算科学与工程学院 广东 广州 510640)
一、实验目的
1、掌握spider/crawler的工作原理及实现方法;
2、熟悉网页抓取的整个流程及操作步骤;
3、掌握spider/crawler应用程序的编写、调试和运行;
4、掌握主题爬行,内容分析技术;
二、实验环境
1、操作系统平台:Microsoft Windows Vista Ultimate x86
2、系统配置:
处理器:Intel Celeron M processer 1.50GHz
内存:1280M
3、开发平台Java 版本信息:
java version 1.5.0_11
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
4、开发工具:Source Inside Program Editing Information System version 3.50
5、帮助文档:JAVA中文API文档
三、实验要求
1、锁定某个主题抓取;
2、能够产生日志文本文件,格式为:时间戳(timestamp)、URL;
3、抓取某一URL时最多允许建立2个连接(注意:本地作网页解析的线程数则不限)
4、遵守文明蜘蛛规则:必须分析robots.txt文件和meta tag有无限制;一个线程抓完一个网页后要sleep 2秒钟;
5、能对HTML网页进行解析,提取出链接URL,能判别提取的URL是否已处理过,不重复解析已crawl过的网页;
6、能够对spider/crawler程序的一些基本参数进行设置,包括:抓取深度(depth)、种子URL等;
7、使用User-agent向服务器表明自己的身份;
8、产生抓取统计信息:包括抓取速度、抓取完成所需时间、抓取网页总数;重要变量和所有类、方法加注释;
9、请遵守编程规范,如类、方法、文件等的命名规范,
10、可选:GUI图形用户界面、web界面,通过界面管理spider/crawler,包括启停、URL增删等
四、设计思路及总体框架
从设计思路上,构造Spider有两种比较常用的方法。第一种是把Spider设计成一个递归的程序,第二种是编写一个非递归的Spider程序,程序维护一个要访问的网页列表,考虑到Java对数组、队列的包支持较为丰富,实现相对容易,本程序使用了第二种设计思路。
程序中总共维护了四个不同的队列,它们的总结如下。每一个这样的队列保存着同一处理状态的URL。
等待队列 当Spider程序开始处理URL时,它们被传送到这一队列。重要的是同一个URL不能被多次处理,因为这样是浪费的。当一个URL被处理过后,它被移送到或者是错误队列或者是完成队列。
运行队列 当前正在处理的URL队列。
错误队列 如果在下载当前网页时发生错误,它的URL将被加入到错误队列。该URL到达这一队列后将不再移入其它队列。一旦网页移入错误队列,Spider程序将不会再对它作进一步处理。
完成队列 如果在下载网页时没有发生错误,该URL将被加入到完成队列。该URL到达这一队列后将不再移入其他队列。
明显,每个得到的URL都只能存在于一个队列中。其状态流程图如下(图1):
图1
图1 URL状态流程图
完成URL错误队列完成队列运行队列等待队列发现URL
完成URL
错误队列
完成队列
运行队列
等待队列
发现URL
以下(图2)是为本Spider程序设计的详细工作流程图:
取
取给定的主题URL,加入到训练队列中
是否训练队列中是否有URL
是
否
训练队列中是否有URL
得到主题词库及对应权重(分数)
得到主题词库及对应权重(分数)
把下载的所有训练文件分词统计
训练结束下载当前主题URL页面内容
训练结束
下载当前主题URL页面内容
分数计算公式如下
Wi,j=Avg(TFi)*(1/(log(nDoc/ni)+1/log(nDoc-1)))
Avg(TFi):对词i取其在各文档中的TF值进行平均;
nDoc:文档数目;
ni:出现词i的文档个数;
将此新链接
将此新链接移入完成队列并继续
等待队列中是否有URL
初始化给定URL,加入到等待队列中
工作结束
取一个URL移入运行队列,下载页面
此网页含有其它链接吗
查看网页上的下一个链接
是否为指向WEB页面的链接
报告网页链接
报告其它类型链接
将此新链接加入到等待队列中
否
是
是
否
是
否
有META且Name=robots的标签吗?
否
读取META的Content值
是
Conte
您可能关注的文档
- 临时人员申请表格.doc
- 临时工作人员登记表格.doc
- 临时改变房屋用途申请表格.doc
- 临时用地呈报表格.doc
- 临汾市信息技术岗位干部专业基本能力岗位评价结果汇总表格.doc
- 临时用地申请表格(样表格).doc
- 临江大道景观绿及缓跑径建设工程施工.doc
- 临沂大学外国语院.doc
- 临沂大学毕业实习检查、指导情况记录表格.doc
- 临沂大学美术学.doc
- 2026年及未来5年中国全电子式连续流量计市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国素食辣味粉市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国商场陈列设备市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国精密成型刀具市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国全自动凸版三色印刷机市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国七叶神安片市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国碾压砼高温缓凝剂市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国视音频切换器市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国超薄型-双面加档加大连裤袜市场数据分析及竞争策略研究报告.docx
- 2026年及未来5年中国高效小麦复合肥市场数据分析及竞争策略研究报告.docx
最近下载
- 2025年大模型与智能体安全风险治理与防护腾讯.pptx VIP
- 2025年广东省华医网公需课考题答案—新质生产力与现代化产业体系.docx VIP
- 口腔解剖生理学(口腔解剖).ppt
- 山西亚鑫新能科技有限公司焦炉气减碳新材料项目环境影响报告书公示稿.pdf VIP
- 2025云南事业单位联考面试试题及答案解析.docx VIP
- 索科曼 IP中操作系列说明书.doc VIP
- 老年难愈性创面系统评估与治疗的专家共识(2025版).pdf VIP
- 2025年项目管理专业里程碑图在高层管理汇报中的应用技巧专题试卷及解析.pdf VIP
- 人工智能通识 课件 第七章 智能之躯——具身智能.pptx
- 2025-2026学年人教版三年级下册语文第一单元测试卷(含答案和解析) (3).docx VIP
原创力文档

文档评论(0)