• 1
  • 2
  • 3
  • 4

搜索引擎的爬虫

发表时间:2009-1-22 2:28:28   文章归类:seo入门

     对于搜索引擎来说,要抓取互联网上所有的网页是安全不可能的,容量最大的搜索引擎也不过是抓取了整个网页数量的30%到40%之间。这其中的原因一方面是抓取技术的问题,无法遍历所有的网页。同时,由于数据量太大,在提供搜索时也会有效率方面的影响。所以,许多搜索引擎的网络爬虫只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深度。

   抓取策略在抓取网页的时候,网络爬虫一般有两种策略:广度优先和深度优先。

     广度优先是是最常用的方式,它是指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。这因为这个方法可以让网络爬虫并行处理,提高其抓取速度。

   深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。这个方法有个优点是网络爬虫在设计的时候比较容易。

     由于不可能抓取所有的网页,有些网络爬虫对一些不太重要的网站,设置了访问的层数,对于网站设计者来说,扁平化的网站结构设计有助于搜索引擎抓取其更多的网页。

    网络爬虫在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络爬虫不去抓取,但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全的让搜索者查看,这样就需要给网络爬虫提供相应的用户名和密码。网络爬虫可以通过所给的权限对这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。

网站与网络爬虫网络爬虫需要抓取网页,不同于一般的访问,如果控制不好,则会引起网站服务器负担过重。2008年9月29日,我老家的门户网站——www.baidu-seo.net.cn就因为雅虎搜索引擎的网络爬虫抓取其数据引起服务器的不稳定。网站是否就无法和网络爬虫交流呢?其实不是的,有多种方法可以让网站和网络爬虫进行交流。一方面让网站管理员了解网络爬虫都来自哪儿,做了些什么,另一方面也告诉网络爬虫哪些网页不应该抓取,哪些网页应该更新。

每个网络爬虫都有自己的名字,在抓取网页的时候,都会向网站标明自己的身份。网络爬虫在抓取网页的时候会发送一个请求,用于标识此网络爬虫的身份。例如Google网络爬虫的标识为GoogleBot,Baidu网络爬虫的标识为BaiDuSpider,Yahoo网络爬虫的标识为Inktomi Slurp。如果在网站上有访问日志记录,网站管理员就能知道,哪些搜索引擎的网络爬虫过来过,什么时候过来的,以及读了多少数据等等。如果网站管理员发现某个蜘蛛有问题,就通过其标识来和其所有者联系。

   网络爬虫进入一个网站,一般会访问一个特殊的文本文件Robots.txt,这个文件一般放在网站服务器的根目录下。拿深圳SEO的网站为例,他的路径就是http://www.baidu-seo.net.cn/sitemap.xml。网站管理员可以通过robots.txt来定义哪些目录网络爬虫不能访问,或者哪些目录对于某些特定的网络爬虫不能访问。例如有些网站的可执行文件目录和临时文件目录不希望被搜索引擎搜索到,那么网站管理员就可以把这些目录定义为拒绝访问目录。

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


  本文系原创文章,版权归为深圳网站优化所有,原文请查看链接地址http://www.baidu-seo.net.cn/seo-start/223/,转载必须带上此地址,并标明原始出处,否则将追究法律责任。

Tags: 搜索引擎   爬虫  

©2007-2021 龙阳网络(www.baidu-seo.net.cn) 版权所有 闽ICP备14017888号-2