广度优先也称为“层次优先”,它是一种层次型距离不断增大的遍历方法。在图3-3中,将这个链接模型划分为5层。
第1层:A。
第2层:B、C、£)。
第3层:E、F、G。
第4层:HJ、/。
第5层:K。
第1层优先级最髙,第2层优先级大于第3层,每层的内部优先级从左到右排列。广度优先策略不需要记录上次爬行的分支结点,这一点大大降低了控制的难度。
在抓取策略上,选择广度优先有3点优越性:
重要的网页往往离种子站点距离较近,这符合直觉。通常打开某主要网站的时候,主要内容在主页上,随着不断的浏览(可以理解为深度不断加深),所看到网页的重要性越来越低。
互联网的深度没有想象的深,到达某一个网页的路径通常很多,总会存在一条很短的路径。
广度优先也更适合爬虫的分布式处理,启动多个爬虫,每个爬虫负责一层。
进行广度优先遍历时,必须有一个队列数据结构支持。这个队列可以理解为工作负载队列,只要没有完成抓取任务,就需要提取头部位置的网页继续抓取。直到完成全部抓取任务,直到工作负载队列为空为止。具体构成如下:
①爬虫提取工作负载队列中的网页A(见图3-3),抓取后,通过对网页A的链接分析提取指向网页B、C、D的链接放到工作队列中去。此时工作负载队列中增加了网页B、网页C和网页D。
②工作负载队列中的网页A抓取完毕,继续抓取工作队列中第1个任务,即网页B。并提取指向网页£:的链接放到工作队列中。此时工作队列中的排列顺序为网页B、C、D、E。
③根据广度优先策略,当网页B抓取完毕后,爬虫继续抓取网页C以及网页D。当抓取网页£?时,提取指向网页F和网页G的链接并放人工作队列中。此时工作队列中的排列顺序为网页D、f;、F、G。

④继续抓取网页D的内容,直到结束。然后进行余下的步骤,直到全部抓取完毕。
最佳优先策略
最佳优先策略的算法是按照一定的网页分析算法,预测候选的URL与目标网页的相似度,或者是与这个网页的主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测“有用”的网页。这种算法是在抓取网页成功以后,要对网页进行相对准确的抽取,然后对次级URL和URL的相关性进行分析,最后根据这些信息来分析结果,判定哪些连接是下一步抓取的目标。

目前流行的有两大类最佳优先策略,基于立即回报价值评价的捜索抓取策略模式和基于未来回报价值评价的搜索抓取策略模式。前者计算连接的价值的依据主要是在抓取的过程中“在线”获得的信息,如已访问的页面中的文本信息、连接周围的文本信息和页面之间的结构信息;后者计算连接的价值的主要依据是经预先训练获得的某些经验,用于对远期回报的预测。
基于立即回报价值评价的捜索抓取策略模式的主要算法有Ksh-Search(鱼群算法)和Shark-Search(畫鱼算法)。
nsh-search算法是将用户输入的描述信息切分成关键字和短语后作为主题,将其下一级抓取连接的描述信息看做是与主题相关的。缺点是不能评价相关程度的高低,有局限性。比如,把Web的抓取看做是鱼群觅食的过程,鱼就相当于网站的URL,食物则相当于相关的网页。可以动态地建立一个优先抓取的URL列表,相关度用0、1表示,0表示不相关,1表示相关,对此只能做与主题相关与不相关的判断,而不能获得相关程度髙低的评价。以下为Fish-Search算法计算相关度的公式:
X
sim(q,p)=—=====
其中,9表示主题切分后的关键字集合,代表页面连接文本集合;w,,表示Z中单词A对某一主题的重要程度。通常由下面公式计算:
叫*=TF,tXIDF,*=?tf(tk,左)-Xlg(盖)i=l

其中,tf(tk,/O是主题tk在/>中出现的频率,N为文档集中的所有文档数,nk为tk中出现的文档数。这样就可以判断是否与主题相关。
Shark-Search(鲨鱼算法)是一种基于鱼群算法的改进,优点是可以获得一个URL与主题的相关程度。
判断与父结点的相关性的公式:
sim(^?currenturJ)simCgjCurrenturi)<0Inherited=<,
[SXinheritedotherwise其中d是小于1的,表示一个常量。
通过连接文本计算连接上下文相关程度的公式:
anchor》0

snchorcontext(uro.,.、<.
Isim(Q,anchortext)otherwise
当anchor>0时它的值都是等于1的,其他时候它的值等于sim(g,anchor,?t),这样,通过对一个鱼群算法的改进,就可以获得URL与主题的相关程度。
不重复抓取策略
不重复的关键在于爬虫记住爬行的历史,只有记住过去才可能不重复。爬虫记录历史的方式是哈希表(也称为“杂凑表”),每一条记录是否被抓取的信息存放在哈希表的某一个槽位上。如果某网页在过去的某个时刻已经被抓取,则将其对应的槽位的值置b反之置0。而具体映射到哪一个槽位,则由哈希函数决定。
MD5整名函歃
在介绍哈希表前,首先简单了解一下MD5签名函数。MD5签名是一个哈希函数,可以将任意长度的数据流转换为一个固定长度的数字(通常为4个整型数,即128位)。这个数字称为“数据流的签名”或者“指纹”,并且数据流中的任意一个微小的变化都会导致签名值发生变化。
将URL字符串数字化是通过某种计算将任何一个URL字符串唯一地计算成一个整数。在一个URL哈希函数映射下,任意一个字符串都唯一地对应一个整数。一个64位整数可以表达1800万TB(lTB=1000GB),而字符串空间的大小远远大于64位整数所表达的整数空间大小,因此碰撞是不可避免的。所谓碰撞是指那些字符串不同,而计算出相同的签名值的情况,然而如果哈希函数设计得足够好,则相互碰撞的机会可以小到忽略不计。
标准MD5签名的整数空间很大,128位整数能表达2的128次方个不同的数,这是十分巨大的,而实际分配的哈希表空间十分有限,一个普通32位处理器,理论上最多可以分配2的32次方大小的内存,即4GB大小的内存。
因此,在实际处理中将签名值进行模运算映射到实际的哈希表中(可以理解为哈希表存放在内存中)。因此实际的哈希函数是MD5%n(%表示取模运算),这样使得一个URL被映射到大小为n的哈希表的某个槽位上。
琀希表
哈希表是简单的顺序表,即数组。从实际应用的角度看,这个数组要足够大。而且尽可能地全部放在内存中,以保证每一个URL的签名都可以通过査找哈希表来确定是否曾经抓取过,如图3-4所示。
图3-4哈希函数示例
假定抓取顺序为www.sohu.com、www.sina.
com和www.sohu.com,首先在抓取www.sohu.com时为该URL做签名运算,然后取模。假定得到的结果为2;存放在数组的第2个槽上。这个过程只要将第2个槽位置1,表示已访问过。继续抓取www.sina.com,以同样方法,假定将其存放在数组的第6个槽位上,之后重复抓取到了www.sohu.com。由于MD5签名函数特性,任何一个自变量唯一对应一个应变量,因此计算www.sohu.com的签名,同样得到结果为2。当査询第2个槽位时,发现该槽位已经置1。说明已经访问过;因此不再重复访问。
目前中文网页总数已经超过100亿。如果要存放100亿网页是否被抓取过这样一个历史信息,那么需要的哈希表将会非常大。如果哈希表每一个单元为一个字节(8位),则至少需要10GB的容量。而且为了保证碰撞的概率极低,实际需要的容量远大于10GB。然而32位操作系统的最大寻址空间为4GB,即理论上最大的物理内存为4GB,因此在内存中不可能分配一个如此巨大的哈希表,为了能够将整个哈希表装人内存,通常采用Bitmap的数据结构压缩内存用量,Bitmap需要借助按位与(&)和按位或,以及左移(<<)、右移(〉>)这4种基本位运算。
Bitmap结构
Bitmap结构使用整型作为基本单元;一个整型为32位;一个intHash[8]的数组仅通过8个单元来记录历史。而如果将比特作为最小单元,则能扩展到256个单元。
例如,可定义这样的一个哈希表,即intHash[8]。将“www.sohu.com”作为字符串执行一次MD5签名,假定得到的签名值为34。
用34除32(—个整型为32位),得到商数为1,然后用1对8取模运算得到1。此结果表示槽位在Hash[l]中。
用34除32,得到余数为2,表示34映射到HaSh[l]这个32位整数的第3个比特位上(从低位算起,余数为0映射到第1个比特位,余数为1映射到第2个比特位,依次类推)。

将第3个比特位置1,则Hash[l]的值为4,这是因为Hash[l]的第3个比特位被置1。
将34这个数按比特位的方式展开,如图3-5所示。数值34的二进制的前3位001决定了它存在决定哈希数组下标决定整型的位数
图3-5数值34的比特位表示
数组的第2个位置上(数组的起始下标为0),也就是数组Hash[l]中。前面提到的用34除以32后,对8取模,目的就是取出数值34的前3位。后5位为00010,表示存放在数组Hash[l]的第3个比特位上。前面提到的34除以32后得到的余数就是这里的后5位。
通过前面的计算,Hash[l]的实际值为4,表示其第3个比特位被置1。这样在Hash[l]中用4这个数值完整地表示了34这个签名值。
通过Bitmap结构,利用计算机快速地按位与、按位或和移位运算能够髙效地实现记住.历史,不重复抓取的策略,同时也将原来的哈希表压缩了1/32。
Bloomfilter算法
一个网址是否被访问过,最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表来存储的。它的好处是快速准确,缺点是浪费存储空间=当集合比较小时,这个问题不良著,但是当集合巨大时,哈希表存储效率低的问题就显现出来了。比如说,全世界少说也有几十亿个网站的地址,将它们都存起来则需要大量的网络服务器。如果用哈希表,每存储一亿个网站地址,就需要1.6GB的内存。用哈希表实现的具体办法是将每一个网站地址对应成一个8字节的信息指纹,然后将这些信息指纹存人哈希表。由于哈希表的存储效率一般只有50%,因此一个网站地址需要占用16字节。一亿个地址大约要1.6GB,即16亿字节的内存。因此存储几十亿个网站地址可能需要上百GB的内存。除非是超级计算机,一般服务器是无法存储的。
Bloomfilter(布隆过滤器)是由巴顿?布隆于1970年提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。下面通过一个例子来说明工作原理。
假定存储一亿个网站地址,先建立一个16亿二进制(比特),即两亿字节的向量,然后将这16亿个二进制全部设置为零。对于每一个网站地址X,用8个不同的随机数产生器(F1,F2,…,F8)产生8个信息指纹(fl,f2,…,f8)。再用一个随机数产生器G把这8个信息指纹映射到1到16亿中的8个自然数(gl,g2,…,g8)。现在把这8个位置的二进制全部设置为1。当对这1亿个网站地址都进行这样的处理后,一个针对这些网站地址的Bloomfilter就建成了,如图3-6所示。
图3-6Bloomfilter原理
用相同的8个随机数产生器(F1,F2,…,F8)对这个地址产生8个信息指纹(sl,s2,…,s8),然后将这8个指纹对应到Bloomfilter的8个二进制位,分别是tl,t2,…,t8。如果网站Y在其中,显然,tl,t2,…,t8对应的8个二进制一定是1。这样就能准确地发现网站y了。
Bloomfilter不会漏掉任何一个爬行过的地址。但是,它有可能将一个不在名单中的网站地址判定为在名单中,因为有可能某个网站的地址正巧对应8个都被设置成1的二进制位。好在这种可能性很小,可把它称为误识概率。一般情况下,误识概率在万分之一以下。

利用Bloomfilter算法可以更加经济地利用好哈希表中的比特位,使得更加经济地灵活地使用内存。通过图3-7可进一步理解,对于一个字符串独立地使用哈希函数计算,然后将它映射到哈希表的m槽上。如果这m个槽都置1,说明该字符串已经在历史上出现过;否则说明该字符串是第1次出现,将m个槽都置1。
www.sohu.com
|1|0|0|1|0|01F“]

图3-7Bloomfilter算法原理
在抓取到WWW.sohu.com时,假设执行3次独立的不同的哈希函数(HaShl、Hash2和Hash3)运算,映射到哈希表的3个槽上。假定是1、4和7槽位。接下来,如果爬虫又抓取到了www.sina.com,经过同样的3次哈希函数运算。假定计算的结果是1、4和6。很明显可以看出槽6是之前没有被置位的,也就是说www.sina.com没有被抓取过。成功抓取WWW.sina.com后,将槽位6置1。Bloomfilter算法一方面提高了哈希数组的利用效率,并被证明适宜于应用在大规模集合査找计算中,同时在网络应用中也被大量采用。
不麓袁抓取策略的使用
在抓取过程中,可以使用多个爬虫来合作抓取,这样可以进一步降低每个爬虫的用于记录历史抓取情况的哈希表大小。如果有n个爬虫,则可将哈希表继续压缩到原有大小的W分之一。如果《个爬虫分别运行在不同的机器上,那么每个机器被哈希表占用的内存用量将非常少;通常保持抓取历史记录所需要的内存在百兆字节左右是恰当的。
通过不重复抓取的方法初步解决了死循环的问题,即抓过的不再抓。然而实际操作中还有这样的一个问题,如果任意两个网页存在链接,则链接它们的最短路径值为17。这样,爬虫无论用何种遍历方法都不能保证一定会按照最佳路径抓取每一个网页,因为任何一个网页都可能从多个种子站点开始广度优先被遍历到。
为了防止爬虫无限制的广度优先抓取,必须在某个深度上进行限制。到达这个深度后就应该停止抓取,这个深度的取值就是万维网直径长度。当在最大深度上停止时,那些深度过大的未抓网页,总是期望可以从其他种子站点更加经济地到达。例如,种子站点B和C在抓取到深度为17的时候,立即停止抓取,把抓取剩余网页的机会留给从种子站点A出发的进行抓取工作的爬虫。此外,深度优先策略和广度优先策略的组合可以有效地保证抓取过程中的封闭性。即在抓取过程(遍历路径)中总是在抓取相同域名下的网页,而很少出现其他域名下的网页。
网页重访策略
网络爬虫的任务就是不断地下载各种各样的网页,但是,网页是在不断的变化中,刚刚下载的网页有可能变化了。因此爬虫不得不周期性的刷新,重访那些已经下载的网页。通过重访以使得这些网页能够与万维网的变化一致。目前网页重访策略大致可以归为以下两类。
I统一的重访策略
网络爬虫用同样的频率重访那些已经抓取的全部网页,以获得统一的更新机会,所有的网页不加区别地按照同样的频率被爬虫重访。
个体的重访策略
不同网页的改变频率不同,爬虫根据其更新频率来决定重访该个体页面的频率。即对每一个页面都量身定做一个爬虫重访频率,并且网页的变化频率与重访频率的比率对任何个体网页来说都是相等的。即对于任意网页尺,其固有的更新频率为A:(次数/单位时间),爬虫对其重访的频率为/,则ki/fi为一个常数。即对于网页和P;,有A,//.=々//;(¥P。那些更新高的网页,重访频率就髙,更新频率低的网页,重访频率就低。
研究表明,网页的更新过程符合泊松过程、网页更新时间间隔符合指数分布。因此,可以对不同类型的网页采用不同的更新策略。
所谓泊松分布,是一种统计与概率学里常见到的离散几率分布,由法国数学家西莫恩。德尼?泊松(Sinton-DenisPoisson)在1838年时发表。泊松分布的概率密度函数为,P(X=k)=x7-7k=0,1,2,???k!
其中A〉o是常数,则称X服从参数为a的泊松分布。泊松分布的参数A是单位时间(或单位面积)内随机事件的平均发生率。泊松分布适合于描述单位时间内随机事件发生的次数。如某一服务设施在一定时间内到达的人数,电话交换机接到呼叫的次数,汽车站台的候客人数,机器出现的故障数,自然灾害发生的次数,等等。
网页抓取提速策略
策略
网页抓取提速策略又称为合作抓取策略,通常可以采用下面几种方法。
提髙抓取单个网页的速度。
尽可能减少不必要的抓取任务。
增加同时工作的爬虫数量。
对于第种方法,单个网页的抓取速度受到下载带宽的限制,在现有技术条件下很难提高。对于第种方法难度比较大,由于需要和万维网的变化保持紧密同步,如果要减少不必要的抓取,将会导致网页重访不及时,这样就不能快速同步目标网页的变化。第种方法通过增加爬虫数量提髙,目前广泛使用的是这种方法。
任务分薅
在多个爬虫抓取的情况下,就要解决一个网页交给哪一个爬虫抓取的问题。如果分工不明,很可能多个爬虫抓取了相同的网页,从而引人额外的开销。通常采用以下两种方法来进行抓取任务的分解。
通过Web主机的IP地址来分解,使某个爬虫仅抓取某个地址的网页。
通过网页的域名来分解,使某个爬虫仅抓取某个域名段的网页。
对于大型网站来说,通常采用负载均衡的IP组技术,即一个域名对应于多个IP地址技术;对于小型网站来说,通常采用多个域名对应一个IP地址的技术。鉴于多域名对应相同IP和同域名对应多IP的情况,通常的做法是按照域名分解任务。即只要保证不重复抓取大型网站的网页,小型网站即便重复抓取也可以接受的策略分配任务。这种分配方法将不同的域名分配给不同的爬虫抓取,某一个爬虫只抓取”指定“的一个域名集合下的网页。
谲度
为了使按照域名分解的策略更加合理,在下载系统中,按照域名分解抓取任务(网页集合)的工作由一个称为”调度员“的模块来处理,通过域名分解将不同的网页调度给不同的爬虫进行抓取。因此,下载系统主要由爬虫和调度员构成。
形式化的调度分配方式如下:
首先假定有n个爬虫可以并行工作,并且定义一个可以提取URL域名的函数domain。具体过程为:
对于任意的URL,利用domain函数提取URL的域名。
用MD5签名函数签名域名,MD5(domain)。
将MD5签名值对n取模运算,intspider_no=MD5(domain)%n。
该URL分配给编号为spider_no的爬虫进行抓取3.2.8Robots协议
Robots协议是Web站点和捜索引擎爬虫交互的一种方式,Robots,txt是存放在站点根目录下的一个纯文本文件。该文件可以指定搜索引擎爬虫只抓取指定的内容,或者是禁止搜索引擎爬虫抓取网站的部分或全部内容。当一个搜索引擎爬虫访问一个站点时,它会首先检査该站点根目录下是否存在robots,txt,如果存在,搜索引擎爬虫就会按照该文件中的内容来确定访问的范围,如果该文件不存在,那么捜索引擎爬虫就沿着链接抓取=另外,robots,txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
如果捜索引擎爬虫要访问的网站地址是http://www.w3.org/,那么robots,txt文件必须能够通过http://www,w3.org/robots,txt打开并看到里面的内容。
#robots.txtforhttp://www.w3.org/
#
#$Id:robots.txt,v1.482007/10/1605:31:15geraldExp$#Forusebysearch.w3.org
User-agent:W3C-gsa
Disallow:/Out-Of-Date
User-agent:W3T_SE
Disallow:/Out-Of-Date
User-agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT;MSSearch4.0Robot)Disallow:/#W3CLinkchecker
User-agent:W3C-checklink

Disallow:
#excludesomeaccess-controlledareasUser-agent:*Disallow:/TeamDisallow:/ProjectDisallow:/WebDisallow:/Systems
Disallow:/History
Disallow:/Out-Of-Date

Disallow:/People/all/
Disallow:/2005/11/Translations/Query
Disallow:/2000/06/webdata/xslt
Disallow:/2000/09/webdata/xslt
Disallow:/2005/08/online_xslt/xslt

Disallow:/Search/Mail/Public/
Disallow:/2006/02/chartergen
具体使用格式如下。
User-agent:
用于描述搜索引擎爬虫的名字,在Robots,txt文件中,如果有多条User-agent记录说明有多个搜索引擎爬虫会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何捜索引擎爬虫均有效,在Robots,txt文件中,?User-agent:*”这样的记录只能有一条。

Disallow:
用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被Robot访问到。
下面举例来说明robots,txt的具体用法:
例1通过/robots,txt禁止所有搜索引擎爬虫抓取/bin/cgi/目录,以及八mp/目录和/foo.html文件,设置方法如下:
User-agent:*
Disallow:/bin/cgi/
Disallow:/tmp/
Disallow:/foo.html

例2通过“/robots,txt”只允许某个搜索引擎抓取,而禁止其他捜索引擎抓取。如只允许名为slurp的捜索引擎爬虫抓取,而拒绝其他捜索引擎爬虫抓取/cgi/目录下的内容,设置方法如下:
User-agent:*
Disallow:/cgi/
User-agent:slurp
Disallow:
例3禁止任何捜索引擎抓取我的网站,设置方法如下,User-agent:*
Disallow:/
例4只禁止某个捜索引擎抓取我的网站。如只禁止名为slurp的搜索引擎蜘蛛抓取,设置方法如下:
User-agent:slurp
Disallow:/
捜索引擎爬虫必须要遵守Robots协议并执行Web站点的要求。因此捜索引擎爬虫需要有一个分析Robots协议的模块,并严格按照Robots协议的规定抓取Web主机允许访问的目录和网页。
当然,Robots,txt只是一个协议,如果搜索引擎爬虫的设计者不遵循这个协议,网站管理员也无法阻止搜索引擎爬虫对于某些页面的访问,但一般的搜索引擎爬虫都会遵循这些协议,而且网站管理员还可以通过其他方式来拒绝网络蜘蛛对某些网页的抓取。
捜索引擎爬虫在下载网页的时候,会去识别网页的HTML代码,在其代码的部分,会有META标识。通过这些标识,可以告诉捜索引擎爬虫本网页是否需要被抓取,还可以告诉捜索引擎爬虫本网页中的链接是否需要被继续跟踪。例如,表示本网页不需要被抓取,但是网页内的链接需要被跟踪。
现在一般的网站都希望搜索引擎能更全面的抓取自己网站的网页,因为这样可以让更多的访问者能通过捜索引擎找到此网站。为了让本网站的网页更全面被抓取到,网站管理员可以建立一个网站地图,即SiteMap。许多捜索引擎爬虫会把sitemap,htm文件作为一个网站网页抓取的人口,网站管理员可以把网站内部所有网页的链接放在这个文件里面,那么捜索引擎爬虫可以很方便地把整个网站抓取下来,避免遗漏某些网页,也会减小对网站服务器的负担。
豕咖錯
镜索91擎寢虫
网络爬虫,
宁波seo优化也称为蜘蛛程序。网络爬虫是一个自动提取网页的程序,是搜索引擎的重要组成部分。爬虫的作用是为搜索引擎抓取大量的数据,抓取的对象是整个互联网上的网页。爬虫程序不可能抓取所有的网页,因为在抓取的同时,Web的规模也在增大,所以一个好的爬虫程序一般能够在短时间内抓取更多的网页。
网络爬虫在搜索引擎中占有重要位置,对搜索引擎的査全、查准都有影响,决定了搜索引擎数据容量的大小,而且网络爬虫的好坏直接影响搜索结果页中的死链接的个数。
在爬虫开始的时候,需要给爬虫输送一个URL列表,这个列表中的URL地址便是爬虫的起始位置,爬虫从这些URL出发,开始了爬行,一直不断地发现新的URL,然后再根据策略爬行这些新发现的URL,如此永远反复下去。
对于网络爬虫来说,抓取下来网页包括各种格式,包括HTML、图片、DOC、PDF、多媒体、动态网页及其他格式等。这些文件抓取下来后,需要把这些文件中的文本信息提取出来。准确提取这些文档的信息,一方面对搜索引擎的搜索准确性有重要作用,另一方面对于网络爬虫正确跟踪其他链接有一定影响。
捜索引擎的更新周期对捜索引擎捜索的査全率有很大影响。如果更新周期太长,则总会有一部分新生成的网页搜索不到;周期过短,技术实现会有一定难度,而且会对带宽、服务器的资源都有浪费。
>鳶虫使用的关鐽検术
网页重要性度量由链接欢迎度、链接重要度和平均链接深度这3个方面决定。
网络爬虫采取的抓取策略主要有深度优先策略、广度优先策略、不重复抓取策略、网页抓取优先策略、最佳优先策略、网页重访策略和网页抓取提速策略。
Robots协议是Web站点和捜索引擎爬虫交互的一种方式,Robots,txt是存放在站点根目录下的一个纯文本文件。该文件可以指定捜索引擎爬虫只抓取指定的内容,或者是禁止捜索引擎爬虫抓取网站的部分或全部内容。
U…輕。/
搜索引擎中的爬虫是如何工作的?

除了书中介绍的开源爬虫之外,还有哪些搜索引擎的爬虫,它们有什么特点?
从网上下载Jspider爬虫,抓取指定的一个网站,然后分析下载后网页的特点。
简述一下深度优先策略和广度优先策略,并比较它们的特点。

除了普通搜索引擎之外,还有很多特殊的捜索引擎。上网査找资料,简述网页库级垂直搜索引擎所使用的技术及其特点。
本文转载自
宁波seo优化www.leseo.net
补充词条:
宁波网络seo公司
宁波谷歌seo
宁波网站seo优化
宁波seo排名
宁波谷歌优化