INDUSTRY INFORMATION

网络推广

当前位置:首页  »  网站代运营  »  网络推广  »  百度搜索引擎工作原理

百度搜索引擎工作原理

发布时间:2022-11-03 05:25 作者:快家教

Spider抓取系统的基本框架


互联网资源庞大的数量级,这就要求抓取系统尽可能的高效利用带宽,在有限的硬件和带宽资源下尽可能多的抓取到有价值资源。这就造成了另一个问题,耗费被抓网站的带宽造成访问压力,如果程度过大将直接影响被抓网站的正常用户访问行为。因此,在抓取过程中就要进行一定的抓取压力控制,达到既不影响网站的正常用户访问又能尽量多的抓取到有价值资源的目的。


简单介绍几种百度支持的返回码:

1)最常见的404代表“NOT FOUND”,认为网页已经失效,通常将在库中删除,同时短期内如果spider再次发现这条url也不会抓取;

2)503代表“Service Unavailable”,认为网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况。对于网页返回503状态码,百度spider不会把这条url直接删除,同时短期内将会反复访问几次,如果网页已恢复,则正常抓取;如果继续返回503,那么这条url仍会被认为是失效链接,从库中删除。

3)403代表“Forbidden”,认为网页目前禁止访问。如果是新url,spider暂时不抓取,短期内同样会反复访问几次;如果是已收录url,不会直接删除,短期内同样反复访问几次。如果网页正常访问,则正常抓取;如果仍然禁止访问,那么这条url也会被认为是失效链接,从库中删除。

4)301代表是“Moved Permanently”,认为网页重定向至新url。当遇到站点迁移、域名更换、站点改版的情况时,我们推荐使用301返回码,同时使用站长平台网站改版工具,以减少改版对网站流量造成的损失。


互联网中一部分网页因为各种各样的原因存在url重定向状态,为了对这部分资源正常抓取,就要求spider对url重定向进行识别判断,同时防止作弊行为。重定向可分为三类:http 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical标签,在效果上可以认为也是一种间接的重定向。


由于互联网资源规模的巨大以及迅速的变化,对于搜索引擎来说全部抓取到并合理的更新保持一致性几乎是不可能的事情,因此这就要求抓取系统设计一套合理的抓取优先级调配策略。主要包括:深度优先遍历策略、宽度优先遍历策略、pr优先策略、反链策略、社会化分享指导策略等等。每个策略各有优劣,在实际情况中往往是多种策略结合使用以达到最优的抓取效果。


spider在抓取过程中需要判断一个页面是否已经抓取过了,如果还没有抓取再进行抓取网页的行为并放在已抓取网址集合中。判断是否已经抓取其中涉及到最核心的是快速查找并对比,同时涉及到url归一化识别,例如一个url中包含大量无效参数而实际是同一个页面,这将视为同一个url来对待。


互联网中存在着大量的搜索引擎暂时无法抓取到的数据,被称为暗网数据。一方面,很多网站的大量数据是存在于网络数据库中,spider难以采用抓取网页的方式获得完整内容;另一方面,由于网络环境、网站本身不符合规范、孤岛等等问题,也会造成搜索引擎无法抓取。目前来说,对于暗网数据的获取主要思路仍然是通过开放平台采用数据提交的方式来解决,例如“百度站长平台”“百度开放平台”等等。


spider在抓取过程中往往会遇到所谓抓取黑洞或者面临大量低质量页面的困扰,这就要求抓取系统中同样需要设计一套完善的抓取反作弊系统。例如分析url特征、分析页面大小及内容、分析站点规模对应抓取规模等等。




以下简单列举:

http协议:超文本传输协议,是互联网上应用最为广泛的一种网络协议,客户端和服务器端请求和应答的标准。客户端一般情况是指终端用户,服务器端即指网站。终端用户通过浏览器、蜘蛛等向服务器指定端口发送http请求。发送http请求会返回对应的httpheader信息,可以看到包括是否成功、服务器类型、网页最近更新时间等内容。


1,网站更新频率:更新快多来,更新慢少来,直接影响Baiduspider的来访频率

2,网站更新质量:更新频率提高了,仅仅是吸引了Baiduspier的注意,Baiduspider对质量是有严格要求的,如果网站每天更新出的大量内容都被Baiduspider判定为低质页面,依然没有意义。

3,连通度:网站应该安全稳定、对Baiduspider保持畅通,经常给Baiduspider吃闭门羹可不是好事情

4,站点评价:百度搜索引擎对每个站点都会有一个评价,且这个评价会根据站点情况不断变化,是百度搜索引擎对站点的一个基础打分(绝非外界所说的百度权重),是百度内部一个非常机密的数据。站点评级从不独立使用,会配合其它因子和阈值一起共同影响对网站的抓取和排序。


1,服务器连接异常

服务器连接异常会有两种情况:一种是站点不稳定,Baiduspider尝试连接您网站的服务器时出现暂时无法连接的情况;一种是Baiduspider一直无法连接上您网站的服务器。

造成服务器连接异常的原因通常是您的网站服务器过大,超负荷运转。也有可能是您的网站运行不正常,请检查网站的web服务器(如apache、iis)是否安装且正常运行,并使用浏览器检查主要页面能否正常访问。您的网站和主机还可能阻止了Baiduspider的访问,您需要检查网站和主机的防火墙。


协议死链:页面的TCP协议状态/HTTP协议状态明确表示的死链,常见的如404、403、503状态等。

内容死链:服务器返回状态是正常的,但内容已经变更为不存在、已删除或需要权限等与原内容无关的信息页面。

对于死链,我们建议站点使用协议死链,并通过百度站长平台--死链工具向百度提交,以便百度更快地发现死链,减少死链对用户以及搜索引擎造成的负面影响。


1)当前该页面为无效页面(内容已删除、死链等),直接跳转到前一目录或者首页,百度建议站长将该无效页面的入口超链接删除掉

2)跳转到出错或者无效页面

注意:对于长时间跳转到其他域名的情况,如网站更换域名,百度建议使用301跳转协议进行设置。


1)针对百度refer的异常:网页针对来自百度的refer返回不同于正常内容的行为。

2)针对百度ua的异常:网页对百度UA返回不同于页面原内容的行为。

3)JS跳转异常:网页加载了百度无法识别的JS跳转代码,使得用户通过搜索结果进入页面后发生了跳转的情况。

4)压力过大引起的偶然封禁:百度会根据站点的规模、访问量等信息,自动设定一个合理的抓取压力。但是在异常情况下,如压力控制失常时,服务器会根据自身负荷进行保护性的偶然封禁。这种情况下,请在返回码中返回503(其含义是“Service Unavailable&rdquo

推荐资讯