- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络爬虫的设计与实现毕业论文
目录
第一章 引言 1
第二章 相关技术介绍 2
2.1 JAVA线程 2
2.1.1 线程概述 2
2.1.2 JAVA线程模型 2
2.1.3 创建线程 3
2.1.4 JAVA中的线程的生命周期 4
2.1.5 JAVA线程的结束方式 4
2.1.6 多线程同步 5
2.2 URL消重 5
2.2.1 URL消重的意义 5
2.2.2 网络爬虫URL去重储存库设计 5
2.2.3 LRU算法实现URL消重 7
2.3 URL类访问网络 8
2.4 爬行策略浅析 8
2.4.1宽度或深度优先搜索策略 8
2.4.2 聚焦搜索策略 9
2.4.3基于内容评价的搜索策略 9
2.4.4 基于链接结构评价的搜索策略 10
2.4.5 基于巩固学习的聚焦搜索 11
2.4.6 基于语境图的聚焦搜索 11
第三章 系统需求分析及模块设计 13
3.1 系统需求分析 13
3.2 SPIDER体系结构 13
3.3 各主要功能模块(类)设计 14
3.4 SPIDER工作过程 14
第四章 系统分析与设计 16
4.1 SPIDER构造分析 16
4.2 爬行策略分析 17
4.3 URL抽取,解析和保存 18
4.3.1 URL抽取 18
4.3.2 URL解析 19
4.3.3 URL保存 19
第五章 系统实现 21
5.1 实现工具 21
5.2 爬虫工作 21
5.3 URL解析 22
5.4 URL队列管理 24
5.4.1 URL消重处理 24
5.4.2 URL等待队列维护 26
5.4.3 数据库设计 27
第六章 系统测试 29
第七章 结论 32
参考文献 33
致谢 34
外文资料原文 35
译文 51
第一章 引言
随着互联网的飞速发展,网络上的信息呈爆炸式增长。这使得人们在网上找到所需的信息越来越困难,这种情况下搜索引擎应运而生。搜索引擎搜集互联网上数以亿计的网页,并为每个词建立索引。在建立搜索引擎的过程中,搜集网页是非常重要的一个环节。爬虫程序就是用来搜集网页的程序。以何种策略偏历互联网上的网页,也成了爬虫程序主要的研究方向。现在比较流行的搜索引擎,比如google,百度,它们爬虫程序的技术内幕一般都不公开。目前几种比较常用的爬虫实现策略:广度优先的爬虫程序,Repetitive爬虫程序,定义爬行爬虫程序,深层次爬行爬虫程序。此外, 还有根据概率论进行可用Web页的数量估算, 用于评估互联网Web规模的抽样爬虫程序; 采用爬行深度、页面导入链接量分析等方法, 限制从程序下载不相关的Web页的选择性爬行程序等等。
爬虫程序是一个自动获取网页的程序。它为搜索引擎从互联网上下载网页,是搜索引擎的重要组成部分。爬虫程序的实现策略,运行效率直接影响搜索引擎的搜索结果。不同的搜索引擎,会根据对搜索结果的不同需求,选择最合适的爬行策略来搜集互联网上的信息。高效,优秀的爬虫程序可以使人们在互联网上寻找到更及时,更准确的信息。
实现网络爬虫的重点和难点有:多线程的实现;对临界资源的分配;遍历web图的遍历策略选择和实现;存储数据结构的选择和实现。
本文通过JAVA语言实现一个基于广度优先偏历算法的多线程爬虫程序。通过实现此爬虫程序可以定点搜集某一站点的URLs,如果需要搜集其他信息,可以在解析URLs的同时,解析获取相应信息。第二章 相关技术介绍
2.1 JAVA线程
2.1.1 线程概述
几乎每种操作系统都支持线程的概念—进程就是在某种程度上相互隔离的,独立运行的程序。一般来说,这些操作系统都支持多进程操作。所谓多进程,就是让系统(好像)同时运行多个程序。比如,我在Microsoft Word编写本论文的时候,我还打开了一个mp3播放器来播放音乐,偶尔的,我还会再编辑Word的同时让我的机器执行一个打印任务,而且我还喜欢通过IE从网上下载一个Flash动画。对于我来说,这些操作都是同步进行的,我不需要等一首歌曲放完了再来编辑我的论文。看起来,它们都同时在我的机器上给我工作。
事实的真相是,对于一个CPU而言,它在某一个时间点上,只能执行一个程序。CPU不断的在这些程序之间“跳跃”执行。那么,为什么我们看不出任何的中断现象呢?这是因为,相对于我们的感觉,它的速度实在太快了。我们人的感知时间可能以秒来计算。而对于CPU而言,它的时间是以毫秒来计算的,从我们肉眼看来,它们就是一个连续的动作。
因此,虽然我们看到的都是一些同步的操作,但实际上,对于计算机而言,它在某个时间点上只能执行一个程序,除非你的计算机是多CPU的。
多线程(Multi-Thread)扩展了多进程(multi-Process)操作的概念,将任务的划分下降到了程序级别,使得各个程序似乎可以在同一个时间内执行多个
您可能关注的文档
最近下载
- 医院信息网络安全培训PPT课件.pptx
- 2025年前列腺科普试题及答案.docx
- 立式叶片排渣过滤机-中国化工设备网.doc
- 20250508 北京大学DeepSeek系列06:DeepSeek私有化部署和一体机.pptx VIP
- 【7上英YL】芜湖市2024-2025学年七年级上学期期中考试英语试卷.pdf VIP
- 屋面瓦及檩条拆除安全方案.doc
- Schneider Electric施耐德Easy Altivar ATV610 变频器编程手册(中文).pdf VIP
- NB∕T34024-2024生物质成型燃料质量要求及分级.docx VIP
- STM32F1开发标准教程-教学大纲、授课计划.docx
- 新语境幼儿园教师专业能力等级与评定.pdf VIP
文档评论(0)