很多人初接触网络,就知道了什么是搜索引擎,也会经常使用搜索引擎,但是对于网络爬虫的认识并不清楚,其实搜索引擎也是网络爬虫,只是搜索引擎是大家都欢迎的,但网络爬虫就不一定了。因为许多人利用网络爬虫来获取信息,这过程可能损害了对方的利益,因此,网站都进行反爬虫,好处在于,比如:
1.减小服务器压力,网站支持请求处理速度是有限的,支持大规模用户的并发访问需要投入很多资源,而爬虫发送请求的速度可以远远超过正常用户发送请求的速度,尤其是一些处理逻辑简单,比如直接抓取全部页面的爬虫,会给服务器增加一些压力。
2.不希望爬虫获得网站中的数据;比如说像taobao这种网站,本身有一个开发平台,里边有些api是收费的,如果不采取反爬虫的手段,就会失去大部分付费api的收入。
3.减少竞争对手,如果我们网站的信息被对手全部收集,并加以分析,会在其中找到有效的信息,为竞争对手增加优势,增加竞争力,这对我们来说是不好的。
可见,这些大量采集别的网站信息的网络爬虫并不受欢迎,但是为了任务,也不得不进行采集,那么这些网络爬虫要如何才能解决这些反爬虫,并顺利获取到信息呢?这是非常有技巧的,要针对性的,比如:
1.网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。按照Robots协议,robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
但是Robots协议是国际互联网界通行的道德规范,不是强制规定,是否遵守Robots协议,完全取决于爬虫的开发者,使用Robots协议不能保证站内的页面不被爬虫抓取
2.如果网站的反爬虫机制有漏洞,则可以针对这个漏洞来破解该网站的反爬虫机制,比如简单登录成功设置cookie,每次请求验证cookie,可以模拟post请求登录,保存cookie,在请求中发送cookie中内容;如果网站反爬虫机制没有漏洞,或者找不到漏洞,或者破解方法成本太高,则需要让爬虫的请求尽量和人使用浏览器请求一致。
以上介绍了关于网站的反爬虫以及网络爬虫的一些知识,不管反爬虫有多少,其实爬虫都可以找到方面来应对的,但是当成本高于获得的利益时,自然就不再做其他的措施了。