网络蜘蛛程序的设计与实现 (一)前言
2009-10-09 08:48
316 查看
本文是我在学习了C语言之后在Linux下的一次实习式的开发练习。肯定会有许多不成熟的地方,还请各位大虾莅临指导。
对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。这其中的原因一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其它网页的链接中找到;另一个原因是存储技术和处理技术的问题,如果按照每个页面的平均大小为20K计算(包含图片),100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(按照一台机器每秒下载20K计算,需要340台机器不停的下载一年时间,才能把所有网页下载完毕)。同时,由于数据量太大,在提供搜索时也会有效率方面的影响。因此,许多搜索引擎的网络蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度和与当前网页有链接关系的网页个数。
什么时网络蜘蛛。
网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。这其中的原因一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其它网页的链接中找到;另一个原因是存储技术和处理技术的问题,如果按照每个页面的平均大小为20K计算(包含图片),100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(按照一台机器每秒下载20K计算,需要340台机器不停的下载一年时间,才能把所有网页下载完毕)。同时,由于数据量太大,在提供搜索时也会有效率方面的影响。因此,许多搜索引擎的网络蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度和与当前网页有链接关系的网页个数。
相关文章推荐
- 网络蜘蛛程序的设计与实现(五)HillTop算法
- 网络蜘蛛程序的设计与实现(四)PageRank揭密
- 网络蜘蛛程序的设计与实现(二)网页抓取策略
- 网络蜘蛛程序的设计与实现(三)网页分析算法
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 10.宿主程序详细设计
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 0.前言
- 基于TCP协议的网络摄像头程序的设计与实现
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 10.宿主程序详细设计
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 0.前言
- CDMA 无线数据模块网络连接程序的设计与实现
- 神经网络与深度学习 1.6 使用Python实现基于梯度下降算法的神经网络和MNIST数据集的手写数字分类程序
- PAT程序设计考题——甲级1042(洗牌机) C++实现
- [置顶] 中国象棋程序的设计与实现(高级版)(项目截图)
- 网络程序间数据交换格式——前言
- 中国象棋程序的设计与实现(七)--心得体会和开发日志
- 【网络编程】之十三、ping程序实现
- 网络题库系统的设计与实现
- 中国象棋程序的设计与实现(二)--源码
- 整数求和程序的流程设计和实现
- PAT程序设计考题——甲级1066(Root of AVL Tree ) C++实现