做技术的或者是互联网行业的人可能都比较清楚,网络爬虫对于互联网的共享是非常大的,

其中有超过一半的流量都是网络爬虫的贡献,如果一个网站不设置发爬虫机制,

那就会成为一个透明的研究所一样,所有的信息都会公开化,所以在没有其他特殊性的情况下,

所有的网站都会设置发爬虫机制,但是,就算是这样,网络爬虫还是有办法进行反爬虫的机制土坯。

今天犀牛就给大家介绍一部分常见的反网络爬虫以及应对反网络爬虫的突破方法。

1.动态页面的限制

爬虫工作者可能会遇到这样的尴尬,当你抓取下目标页面之后,你发现,关键信息处一片空白,只有密密麻麻一片的框架代码,这是因为该网站的信息是通过用户Post的XHR动态返回内容信息,解决这种问题就是要通过开发者工具(FireBug等)对网站流进行分析,对内容信息进行抓取,获取所需要的内容。

那么更复杂一些的就是对动态请求进行加密,参数灭有办法进行解析,便也是没有办法进行抓取。在这样的情况之下

,可以通过Mechanize,selenium RC,调用浏览器内核,就像真实使用浏览器上网那样进行抓取,抓取的成功率会大幅度上升,但是抓取速度却不敢恭维

经测试,用urllib抓取拉勾网招聘信息30页所需时间为三十多秒,而用模拟浏览器内核抓取需要2--3分钟。

常见的反网络爬虫以及突破方法

2.用户行为检测

有一些是网站通过检测和分析一些用户的行为,比如说是针对cookies,通过检查cookies来判断用户是不是可以利用和保存的有效客户,通常是需要登陆的网站,经常会采用这样的技术。层次再深的还有,信息验证,部分网站的登陆是需要验证吗的验证的,就像登陆的时候,系统会自动分配出验证码,authenticity_token,authenticity_token会和用户提交的登录名和密码一起发送回服务器。

3.IP的访问频率被限制

部分访问是存在着恶意性质的,一些平台为了防止这种情况的发生,会在某个同一个IP在单元时间内超过一定的次数的时候,将禁止这个IP继续访问。对于这个限制IP访问效率,可以使用代理IP的方法来解决问题。网上有很多代理IP的资源,也有一些是免费的,但是免费代理的弊端还是不少的,你就例如说匿名性就不是特别的号,很容易就会被赌坊检测出来你在使用代理IP,但是购买像是犀牛代理IP的这种,不仅仅可以保障你的质量,而且匿名性也好,你可以放心的在任何平台上进行使用,提高工作效率。

以上简单的说了三种常见的反爬虫已经反爬虫的应对方法,一般来讲越高级的爬虫被封锁的机率救会越低,但是性能会比较低一些,成本上相对也会比较高一点。当成本高到一定的程度了,我们便可以无需再对爬虫进行封锁。