本文简单的分析了爬虫抓取网页的一些基本原理与大家同享,能基本了解网页的几个排名因素:链接的建设和网页的布局,多多体会,写的不好也别骂,谢谢!
爬虫的工作原理包括抓取,策略和存储,抓取是爬虫的基本劳动过程,策略是爬虫的智慧中枢,存储是爬虫的劳动结果,我们按照由浅入深的过程来了解整个爬虫的工作原理。
1:从种子站点开始抓取
基于万维网的蝴蝶型结构,这种非线性的网页组织结构,就会出现一个抓取顺序的问题,这种抓取顺序的策略必须保证尽可能地抓取所有网页。
一般来说,爬虫选择抓取蝴蝶型左边的结构为抓取出发点,典型的如sina.com和sohu.com这样的门户网站的主页,每次抓取网页之后分析其中的URL,这种字符串形式的链接是指向其他网页的URL,它们指引着爬虫抓取其他网页。(基于这点我们可以初步理解引擎先左后右,先上后下的抓取原因了)
a:深度优先的策略(Depth-First Traversal)
深度优先的遍历策略类似家族继承策略,典型的如封建帝王的继承,通常为长子,如果长子去世,长孙的优先级大于次子的优先级(这点大家多多仔细分析琢磨下),如果长子和长孙都已经去世,那么次子继承,这种继承上的优先关系也称深度优先策略。(从这点上我们可以了解到蜘蛛的抓取栏目页先后顺序)
b:宽度优先的策略(Breadth-First Traversal)
宽度优先我们又称为广度优先,或者叫层次优先,例如:我们在给祖辈和父辈还有平辈敬茶的时候先给最年长的祖辈,其次为父辈,最后为平辈,在爬虫抓取上也采取了这样的策略。基于使用宽度有限的策略主要原因有三点:
1>首页重要的网页往往离种子比较近,例如我们打开新闻站的时候往往是最热门的新闻,随着不断的深入冲浪,PV值增加,所看到网页重要性越来越低。
2>万维网的实际深度最多能达到17层,到达某个网页的路径深入很多,但是总存在一条很短的路径。
3>宽度优先有利于多爬虫的合作抓取(Mozk是根据前辈的资料分析和IIS日志分析,暂且认为,有不同见解,欢迎讨论交流),多爬虫合作通常先抓取站内连接,遇到站外连接然后开始抓取,抓取的封闭性很强。
附:链接的优化,避抓取链接的死循环,同时也避免该抓取的资源没有得到抓取,浪费大量的资源做无用功。(如何建立合理的内部链接可以参照小站)。
2:网页抓取优先策略
网页的抓取优先策略也称为“面页选择问题”(page selection),通常抓取重要性的网页,这样保证有限资源(爬虫,服务器负载)尽可能的照顾到重要性高的网页,这点应该很好理解。
那么哪些网页才是重要性的网页呢?
网页的重要性判断因素很多,主要有链接欢迎度(知道链接的重要性了吧),链接的重要度和平均深度链接,网站质量,历史权重等主要因素。
链接的欢迎度主要是由反向链接(backlinks)的数量和质量决定,我们定义为IB(P)。
链接的重要度,是一个关于URL字符串的函数,仅仅考察字符串本身,比如认为“.com”“home”的URL重要度比“.cc”和“map”较高(这里是比方不是绝对,就如我们通常默认首页index.**一样,要定义其他名称也可以,另外排名是个综合因素,com的不一定排名就好,只是其中一个很小的因素而已),我们定义为IL(P)
平均连接深度,个人鄙见,根据上面所分析的宽度优先的原则计算出全站的平均链接深度,然后认为距离种子站点越近重要性越高。我们定义为ID(P)
我们定义网页的重要性为I(P)
那么:
I(p)=X*IB(P)+Y*IL(P)
ID(P)由宽度优先的遍历规则保证,因此不作为重要的指标函数,为了保证重要性高的网页被抓取,所以,这样的抓取完全是合理,科学的。
本文的第1点是讲解的一个点,第二点是分析的一个面,文笔不怎么好,大家多多体会下。
SEO的目标是提高网站的质量,提高网站的质量是提高网站用户体验友好度,提高网站用户优化度的终极目标是离开SE做常青树,以上是Mozk的鄙见,毕竟SEO是一个排名的逆向推理过程,不可能全对,只是对数据的一种分析,任何资料只能是参考,还是要多靠自己的实践,欢迎光临小站www.woaiseo.com,Mozk与您一起学习SEO。