百度搜索引擎优化原理(百度以及其它搜索引擎的工作原理是怎样的?-八维教育)
优采云 发布时间: 2021-11-04 00:08百度搜索引擎优化原理(百度以及其它搜索引擎的工作原理是怎样的?-八维教育)
其实大家对于百度等搜索引擎的工作原理已经讨论了很多,但是随着技术的进步和互联网行业的发展,各种搜索引擎都发生了巨大的变化,而且这些变化是迅速的。我们设计本章的目的,除了从官方的角度发出一些声音,纠正之前的一些误解,我们也希望通过内容的不断更新,跟上百度搜索引擎的发展,给大家带来最新与百度高度相关的信息。本章主要内容分为四章,分别是:爬取和建立数据库;搜索和排序;外部投票;结果显示。蜘蛛爬取系统互联网信息的基本框架已经爆炸了。如何有效地获取和使用这些信息是搜索引擎工作中最重要的环节。数据采集系统作为整个搜索系统的上游,主要负责互联网信息的采集、保存和更新。它像蜘蛛一样在网络中爬行,所以通常被称为“蜘蛛”。比如我们常用的几种常见的搜索引擎蜘蛛,叫做Baiduspdier、Googlebot、搜狗网蜘蛛等。
蜘蛛抓取系统是搜索引擎数据来源的重要保障。如果把网络理解为一个有向图,那么蜘蛛的工作过程可以看作是对这个有向图的一次遍历。从一些重要的*敏*感*词*网址开始,通过页面上的超链接,不断地发现和抓取新的网址,尽可能多地抓取有价值的网页。对于像百度这样的大型蜘蛛系统,由于随时都有网页被修改、删除或出现新的超链接的可能,所以需要更新以前蜘蛛爬过的页面,维护一个网址库和页面库。
下图为蜘蛛爬取系统的基本框架,包括链接存储系统、链接选择系统、dns分析服务系统、爬取调度系统、网页分析系统、链接提取系统、链接分析系统、网页存储系统. 百度蜘蛛通过本系统的配合完成对网页的抓取。
蜘蛛爬行系统基本框架图
百度蜘蛛的主要爬取策略类型 上图看似简单,但实际上百度蜘蛛在爬取过程中面临着一个超级复杂的网络环境,为了让系统尽可能多地抓取有价值的资源,保持系统与现实的一致性环境中的页面同时不会给网站体验带来压力,并且会设计各种复杂的爬取策略。以下是简要介绍:
1、 抓取友好
互联网资源的巨大数量级要求抓取系统尽可能高效地使用带宽,在有限的硬件和带宽资源下抓取尽可能多的有价值的资源。这就产生了另一个问题。捕获的网站消耗的带宽造成访问压力。如果级别过大,会直接影响捕获到的网站的正常用户访问行为。因此,在爬取过程中,必须控制一定的爬取压力,以达到不影响网站的正常用户访问,尽可能多的抓取有价值资源的目的。
一般情况下,最基本的就是基于ip的压力控制。这是因为如果是基于一个域名,可能会出现一个域名对应多个ip(很多大网站)或多个域对应同一个ip(小网站共享)的问题ip)。在实际中,压力部署控制往往是根据ip和域名的各种情况进行的。同时,站长平台也推出了压力反馈工具。站长可以手动调整他的网站的抓取压力。此时,百度蜘蛛会根据站长的要求,优先进行抓取压力控制。
同一站点的爬行速度控制一般分为两类:一类是一段时间内的爬行频率;二是一段时间内的爬取流量。同一个站点的爬取速度在不同的时间会有所不同。例如,在夜晚安静、月亮暗、风大的时候,爬行速度可能会更快。它还取决于特定的站点类型。主要思想是错开正常用户访问的高峰期,不断调整。对于不同的站点,也需要不同的爬取速度。
2、普通抓取返回码
简单介绍一下百度支持的几种返回码:
1) 最常见的 404 代表“未找到”。认为该网页无效,通常会从库中删除。同时,如果蜘蛛在短期内再次找到这个url,则不会被抓取;
2)503 代表“服务不可用”。认为是网页暂时无法访问,通常网站暂时关闭,带宽受限等都会造成这种情况。对于返回503状态码的网页,百度蜘蛛不会直接删除网址,会在短时间内多次访问。如果网页已经恢复,则可以正常抓取;如果它继续返回503,则该URL仍然会被认为是一个断开的链接并从库中将其删除。
3)403 代表“Forbidden”,认为该网页当前被禁止。如果是新的url,蜘蛛暂时不会抓取,短时间内会被多次访问;如果是收录url,不会直接删除,短时间内会被访问多次。如果网页访问正常,就会正常抓取;如果仍然禁止访问,则此 url 也将被视为无效链接并从库中删除。
4)301 代表“永久移动”,认为网页被重定向到新的 url。遇到网站迁移、域名更换、网站改版时,建议使用301返回码,并使用站长平台网站改版工具,减少改版带来的网站流量损失。
3、识别多个URL重定向
由于各种原因,Internet 上的某些网页具有 URL 重定向状态。为了正常抓取这部分资源,需要蜘蛛识别和判断URL重定向,防止作弊。重定向可以分为三类:http 30x 重定向、元刷新重定向和js 重定向。此外,百度还支持Canonical标签,可以看作是一种间接重定向的效果。
4、 抢优先分配
由于互联网资源规模的巨大而快速的变化,搜索引擎几乎不可能全部捕获并合理更新以保持一致性。这就需要爬取系统设计一套合理的爬取优先级。部署策略。主要包括:深度优先遍历策略、广度优先遍历策略、pr-first策略、反链策略、社交分享引导策略等,每种策略各有优缺点。在实际情况中,往往会采用多种策略组合使用,以达到最佳的捕捉效果。
5、 重复 URL 过滤
爬虫在爬取过程中,需要判断一个页面是否被爬取,如果没有被爬取,则爬取该网页并将其放入爬取的URL集合中。判断是否被抓取。其中最重要的就是快速搜索和比对,还涉及到url归一化识别。例如,一个url收录大量无效参数,但实际上是同一个页面,将被视为同一个url。.
6、暗网数据获取
互联网上存在大量搜索引擎暂时无法捕获的数据,称为暗网数据。一方面,网站的大量数据存在于网络数据库中,蜘蛛通过抓取网页难以获取完整的内容;另一方面,由于网络环境,网站本身不符合规范,被隔离。依此类推,也会导致搜索引擎无法抓取。目前获取暗网数据的主要思路仍然是利用开放平台,采用数据提交方式,如“百度站长平台”、“百度开放平台”等。
7、抢反作弊
蜘蛛在爬取过程中,经常会遇到所谓的爬取黑洞或面临大量低质量页面的困扰,这就需要爬取系统也设计了一套完整的爬取防作弊系统。比如分析url特征,分析页面大小和内容,分析爬取规模对应的站点大小等等。
刚才在Baiduspider爬取过程中涉及的网络协议提到,百度搜索引擎会设计复杂的爬取策略。事实上,搜索引擎和资源提供者之间存在着相互依赖。搜索引擎需要站长为其提供资源,否则搜索引擎无法满足用户检索需求;而站长则需要通过搜索引擎推广自己的内容,以获得更多的受众。蜘蛛爬取系统直接涉及到互联网资源提供者的利益。为了让搜索引擎和站长实现双赢,双方在抓取过程中必须遵守一定的规定,以方便双方的数据处理和对接。在这个过程中遵循的规范就是我们在日常生活中所说的一些网络协议。
以下是一个简要列表:
http协议:超文本传输协议,是互联网上使用最广泛的网络协议,客户端和服务器请求和响应的标准。客户端一般指最终用户,服务器指网站。最终用户通过浏览器、蜘蛛等方式向服务器的指定端口发送http请求,发送http请求会返回相应的httpheader信息,可以查看是否成功、服务器类型、最后更新时间网页的。