经过前面的介绍,我们大致了解了站点压力控制对于爬虫的重要性。但是站点压力控制对于爬虫来说,是一个比较Open的话题。即到目前为止也没有一个很准确的压力控制方法。
主要的问题由于以下几点:
- 不同站点对于爬虫的压力允许程度不同。 即由于站点的规模不同、站点的服务器配置不同等。不同的站点能承受的压力是不同的。同时不同的站点对于爬虫的友好程度不同。有些站点允许爬虫爬去其数据,而有些站点不希望爬虫爬取其数据。对于爬虫的压力允许也就不同。
- 站点对于不同爬虫的压力允许程度不同。 网络中的爬虫有很多,有大的搜索引擎公司的爬虫,比如google的Googlebot,百度的baiduspider,搜狗的sogou spider,有道的YodaoBot,腾讯的Sosospider,msn的是Msnbot。还有一些个人开发的用来尝试的小的爬虫。因此即使同一站点,对于网络中的不同爬虫的压力允许程度不同的。因为站点让爬虫爬取数据是希望能让搜索引擎搜录其数据,从而可以给用户检索,一遍用户通过搜索引擎访问到自己站点的数据。即给自己带来流量。因此会考虑给自己来来流量的大小而对不同的爬虫允许的程度不同。目前国内百度是第一大的搜索引擎公司。其爬虫的技术比较成熟。同时各大网站对其爬虫的压力允许程度也相对要宽松一些。即允许其爬虫更多的技术。(也有主动向其推送数据的)。每个爬虫都需要考虑站点对于自己能允许的压力。
- 站点对于爬虫的压力允许程度不是公开的。 由于网络上的爬虫,站点不可能一一告诉各个爬虫其允许的压力程度。同时站点也大致都没有告诉爬虫其压力程度。站点都是在自己的服务器管理上添加爬虫访问的限制工具。当爬虫压力过大时直接封禁爬虫处理。
但是即便对于爬虫来说进行压力控制是一个困难的问题,但是对于一个正规的爬虫来说,如果想爬虫站点的数据,就不得不面对这个问题。
而站点的压力控制可以分为以下几点: