`
txf2004
  • 浏览: 6830780 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

中文搜索引擎技术揭密:网络蜘蛛(2)

阅读更多
网络蜘蛛基本原理
网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。这其中的原因一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其它网页的链接中找到;另一个原因是存储技术和处理技术的问题,如果按照每个页面的平均大小为20K计算(包含图片),100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(按照一台机器每秒下载20K计算,需要340台机器不停的下载一年时间,才能把所有网页下载完毕)。同时,由于数据量太大,在提供搜索时也会有效率方面的影响。因此,许多搜索引擎的网络蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度。

在抓取网页的时候,网络蜘蛛一般有两种策略:广度优先和深度优先(如下图所示)。广度优先是指网络蜘蛛会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络蜘蛛并行处理,提高其抓取速度。深度优先是指网络蜘蛛会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。这个方法有个优点是网络蜘蛛在设计的时候比较容易。两种策略的区别,下图的说明会更加明确。


由于不可能抓取所有的网页,有些网络蜘蛛对一些不太重要的网站,设置了访问的层数。例如,在上图中,A为起始网页,属于0层,B、C、D、E、F属于第1层,G、H属于第2层,I属于第3层。如果网络蜘蛛设置的访问层数为2的话,网页I是不会被访问到的。这也让有些网站上一部分网页能够在搜索引擎上搜索到,另外一部分不能被搜索到。对于网站设计者来说,扁平化的网站结构设计有助于搜索引擎抓取其更多的网页。

网络蜘蛛在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络蜘蛛不去抓取(下小节会介绍),但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络蜘蛛提供相应的用户名和密码。网络蜘蛛可以通过所给的权限对这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。
分享到:
评论

相关推荐

    中文搜索引擎技术揭密:网络蜘蛛.

    中文搜索引擎技术揭密:网络蜘蛛.

    中文搜索引擎技术揭密:网络蜘蛛.rar

    中文搜索引擎技术揭密:网络蜘蛛.rar

    中文搜索引擎技术

    内含: 中文搜索引擎技术揭密:系统架构.doc 中文搜索引擎技术揭密:网络蜘蛛.doc 中文搜索引擎技术揭密:排序技术.doc 中文搜索引擎技术揭密:中文分词.doc

    搜索引擎技术揭密之搜索蜘蛛系列文摘

    搜索引擎技术揭密之搜索蜘蛛系列文摘 资源全部在网络收集 个人觉得很好 编辑整理共享之

    .net网络蜘蛛源程序及搜索引擎技术揭密

    .net网络蜘蛛源程序及搜索引擎技术揭密,很好的学习搜索引擎技术的例子和介绍。

    搜索引擎网络蜘蛛程序

    搜索引擎网络蜘蛛程序,Nutch,Lucene,Larbin,中文分词程序代码

    搜索引擎-网络蜘蛛-源码

    一个简单的网络蜘蛛Java源码,是用Applet实现的,所以压缩包中也包含了调用此Applet的html文件。只需编译此java源代码用此html文件调用即可。

    搜索引擎网络蜘蛛

    搜索引擎完整源码自带网络爬虫功能,spider网络爬虫+数据库+界面源代码

    网络蜘蛛及搜索引擎原理

    高性能网络机器人是新一代Web智能搜索引擎的核心,网络机器人是否高效直接影响搜索引擎的效能的发挥。对开发高性能网络机器人所涉及的关键技术和算法进行了详细地分析。最后,给出了程序的关键类,有助于工程的实际...

    阿西搜索引擎蜘蛛爬行统计系统 v2.0

    百度蜘蛛爬行跟踪统计.0版本新增功能:对比1.0版本,我们增加了其它搜索引擎蜘蛛的跟踪记录,主要有 百度,谷歌,搜搜,搜狗,雅虎,Bing搜索引擎蜘蛛,能准确抓取并记录。 为了防止数据库占用空间,同时新增了清空...

    搜索引擎-网络蜘蛛程序源代码

    分词技术 排序技术 搜索引擎-网络蜘蛛程序源代码 搜索引擎机器人研究报告 中文全文检索网_全文检索相关知识介绍

    搜索引擎蜘蛛捕捉php版

    Spider是搜索引擎的一个自动程序。它的作用是访问互联网上的...搜索引擎的“蜘蛛”同一天会对某些网站或同一网页进行多次爬行,知道蜘蛛的运动规律,对于更新网页、了解搜索引擎收录的收录情况等等有相当重要的作用。

    贼狗搜索引擎v2.1商业版带蜘蛛本地采集程序

    贼狗搜索引擎v2.1商业版带蜘蛛本地采集程序

    商剑分布式网络蜘蛛(网络爬虫-spider)

    商剑分布式网络蜘蛛,性能高速运转,能耗尽全部带宽,可批量采集海量数据的网页,若几百台服务器安装商剑...更是搜索引擎-网络蜘蛛-网络爬虫-spider-网页抓取等技术的必备工具之一。http://www.100spider.cn/wspider.rar

    网络蜘蛛网络蜘蛛网络蜘蛛

    网络蜘蛛网络蜘蛛网络蜘蛛网络蜘蛛网络蜘蛛网络蜘蛛

    百度搜索引擎 蜘蛛技术

    鸟马自动链程序结合了自动链+搜索引擎技术。 强大的广告系统,竞价排名系统 中文分词,索引系统,蜘蛛技术 智能识别各种网页编码,减少了乱码出现的情况 智能导航系统,可自由地在后台修改导航信息 首页导航采用...

    搜索引擎蜘蛛访问日志查看器

    这个软件可以查看搜索引擎的蜘蛛访问记录,根据这些记录可以看到蜘蛛什么时候来访问过你的站,抓取了什么内容。 使用方法: ----插入asp页面调用 ----插入html页面JS调用 bot.mdb 记录数据库 访问 zhizhu.asp ...

    基于_网络蜘蛛原理_的搜索引擎技术剖析

    中文搜索引擎的查全率需保证不遗漏某些重要的结果,而且能找到最新的网页,这需要搜索引擎有一个强大的网页收集器(称为″网络蜘蛛″),一个优秀的搜索引擎,需要不断的优化网络蜘蛛的算法,提升其性能。...

    适合练手、课程设计、毕业设计的Java项目源码:网络爬虫(蜘蛛).rar

    适合练手、课程设计、毕业设计的Java项目源码:网络爬虫(蜘蛛).rar 适合练手、课程设计、毕业设计的Java项目源码:网络爬虫(蜘蛛).rar 适合练手、课程设计、毕业设计的Java项目源码:网络爬虫(蜘蛛).rar 适合练手、...

    用java做的网络蜘蛛搜索引擎

    网络蜘蛛 搜索引擎 这是一个用纯java代码的,输入一个网址后就可以搜索抓取网址,点击网址还可以打开网站。其中还用到树型结构的知识,很好很强大

Global site tag (gtag.js) - Google Analytics