MESSAGE在线留言
热线电话:
15659176979
首页
关于我们
福州网站建设资讯
福州seo资讯
在线留言
联系我们
网站建设

公司新闻

带你深入理解百度搜索引擎蜘蛛

发布时间:2018-01-08
一:百度搜索引擎蜘蛛的抓取方式:
    对于搜索引擎来说,要抓取互联网上所有的网页几乎不可能的。从目前公布的数据来看,容量最大的搜索引擎也不过抓取了整个互联网网页数量的百分之40左右,其中的原因,一方面是抓取技术的瓶颈,无法遍历所有的网页,许多网页从其他网页的链接中找到;另一方面是存储技术和处理技术的问题。如果按照每个页面20KB计算(包含图片),100亿个网页的容量是100*2000GB。即使能够存储,下载也存在问题 。
   在抓取网页的时候,网络Spider一般有两种策略:广度优先和深度优先(如下图所示)。广度优先是指网络Spider会先抓取起始网页中链接(LINK)的所有网页,然后再选择其中的一个链接(LINK)网页,继续抓取在此网页中链接(LINK)的所有网页。这是最常用的方式,因为这个方法可以让网络Spider并行处理,提高其抓取速度。深度优先是指网络Spider会从起始页开始,一个链接(LINK)一个链接(LINK)跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接(LINK)。这个方法有个优点是网络Spider在设计的时候比较容易。两种策略的区别,下图的说明会更加明确。

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

网络Spider在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络Spider不去抓取,但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络Spider提供相应的用户名和密码。网络Spider可以通过所给的权限对这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。
二:百度搜索引擎蜘蛛是不是和我们一样聪明?
   尽管搜索引擎在不断地升级算法,但是终究其还是程序,因此我们在布局网站结构的时候,要尽可能地让搜索引擎蜘蛛看得懂。每个搜索引擎蜘蛛都有自己的名字,在抓取网页的时候,都会向网站表明自己的身份。搜索引擎蜘蛛在抓取网页的时候会发一个请求,这个请求中有一个字段为user-agent,用于标示此搜索引擎蜘蛛的身份。
   
例如Google搜索引擎蜘蛛的标识为Googlebot,百度搜索引擎的标识为baidu spider,yahoo搜索引擎蜘蛛的标识为inktomislurp。如果在网站上有访问日志记录,网站管理员就能知道,哪些搜索引擎的搜索引擎蜘蛛过来过,什么时候过来的,以及读了多少数据等。如果网站管理员发现某个蜘蛛有问题,就通过其标识来和其所者联系。

搜索引擎蜘蛛进入一个网站,一般会访问一个特殊的文本文件robots.txt。这个文件一般放在网站服务器的根目录下,网站管理员可以通过robots.txt来定义哪些目录搜索引擎蜘蛛不能访问,或者那些目录对于某些特定的搜索引擎蜘蛛不能访问。例如,有些网站的可执行文件目录和临时文件目录不希望被搜索引擎到,那么网站管理员就可以把这些目录定义为拒绝访问目录。robots.txt语法也很简单,如果对目录没有任何限制,可以用以下两行来描述。

user-agent*

Disallow:

当然,robots.txt只是一个协议,如果搜索引擎蜘蛛的设计者不遵循这个协议,网站管理员也无法阻止搜索引擎蜘蛛对于某些页面的访问。但一般的搜索引擎蜘蛛都会遵循这些协议,而且网站管理员还可以通过其他方式来拒绝搜索引擎蜘蛛对某些网页的抓取。

搜索引擎蜘蛛在下载网页的时候,会去识别网页的HTML代码,在其代码的部分,会有meta标识。这些标识可以告诉搜索引擎蜘蛛本网页是否需要被抓取,还可以告诉搜索引擎蜘蛛本网页中的链接是否需要被继续跟踪。例如,表示本网页不需要被抓取,但是网页内的链接需要被跟踪。

现在一般的网站都希望搜索引擎能更全面地抓取自己的网站的网页,因为这样可能让更多的访问者通过搜索引擎能找到此网站。为了让本网站的网页更全面被抓取到,网站管理员可以建立一个网站地图,即sitemap。许多搜索引擎蜘蛛会把sitemap,htm文件作为一个网站网页爬取得入口,网站管理员可以把网站内容内部所有网页的链接放在这个文件里面,那么搜索引擎蜘蛛可以很方便地把整个网站抓取下来,避免遗漏某些网页,也会减小服务器的负担(Google专门为网站管理严提供了XML的Sitemap)。

搜索引擎建立网页索引,处理的对象是文本文件。对于搜索引蜘蛛来说,抓取下来网页包括各种格式,包括HTML、图片、doc、PDF、多媒体、动态网页极其他格式。把这些文件抓取下来后,需要把这些文件中的文本信息提取出来。准确提取这些文档的信息,一方面对搜索引擎的搜索引擎准确性有重要的作用,另一方面对于搜索引擎蜘蛛正确跟踪其他链接有一定影响。

对于doc、PDF等文档,这种由专业厂商提供的软件生成的文档,厂商都会提供相应的文本提取接口。搜索引擎的搜索只需要调用这些插件的接口,就可以轻松地提取文档中的文本信息和文件的其他相关的信息。

HTML等文档不一样,HTML有一套自己的语法,通过不同的命令标识符来标识不同的字体、颜色、位置等,提取文本信息时需要把这些标识符都过滤掉。过滤标识符并非难事,因为这些标识符都有一定的规则,只要按照不同的标识符取得相应的信息即可。但在识别这些信息的时候,需要同步记录许多版式信息。

除了标题和正文以外,会有许多广告链接以及公共的频道链接。这些链接和文本正文一点关系也没有,在提取网页内容的时候,也需要过滤这些无用的链接。例如,某个网站有“产品介绍”频道,因为导航条在网站内每个网页都会搜索到,无疑会带来大量垃圾信息,过滤这些无效链接需要统计大量的网页结构规律,抽取一些共性,统一过滤;对于一些重要而结果特殊的网站,还需要个别处理。这就需要搜索引擎蜘蛛的设计有一定的扩展性。
三:百度搜索引擎蜘蛛不能顺利爬行的原因
在SEO诊断过程中经常遇到这样的问题,有一些网页,内容优质,用户也可以正常访问,但是搜索引擎蜘蛛spider却无法正常访问并抓取,造成搜索结果覆盖率缺失,对百度搜索引擎对站点都是一种损失,百度把这种情况叫“抓取异常”。下面就来看看吧。

1.服务器连接异常 服务器连接异常会有两种情况:一种是站点不稳定,Baidu spider尝试连接您网站的服务器时出现暂时无法连接的情况;一种是Baidu spider一直无法连接上您网站的服务器。 造成服务器连接异常的原因通常是您的网站服务器过大,超负荷运转。也有可能是您的网站运行不正常,请检查网站的web服务器(如apache、iis)是否安装且正常运行,并使用浏览器检查主要页面能否正常访问。您的网站和主机还可能阻止了Baidu spider的访问,您需要检查网站和主机的防火墙。

  2.网络运营商异常 网络运营商分电信和联通两种,Baidu spider通过电信或网通无法访问您的网站。如果出现这种情况,您需要与网络服务运营商进行联系,或者购买拥有双线服务的空间或者购买cdn服务。

3.DNS异常 当Baidu spider无法解析您网站的IP时,会出现DNS异常。可能是您的网站IP地址错误,或者域名服务商把Baidu spider封禁。请使用WHOIS或者host查询自己网站IP地址是否正确且可解析,如果不正确或无法解析,请与域名注册商联系,更新您的IP地址。

  4.IP封禁 IP封禁为:限制网络的出口IP地址,禁止该IP段的使用者进行内容访问,在这里特指封禁了Baidu spiderIP。当您的网站不希望Baidu spider访问时,才需要该设置,如果您希望Baidu spider访问您的网站,请检查相关设置中是否误添加了Baidu spiderIP。也有可能是您网站所在的空间服务商把百度IP进行了封禁,这时您需要联系服务商更改设置。

  5.UA封禁 UA即为用户代理(User-Agent),服务器通过UA识别访问者的身份。当网站针对指定UA的访问,返回异常页面(如402,500)或跳转到其他页面的情况,即为UA封禁。当您的网站不希望Baidu spider访问时,才需要该设置,如果您希望Baidu spider访问您的网站,useragent相关的设置中是否有Baidu spider UA,并及时修改。