首先要了解服务器反爬的原因,其次要知道服务器反什么样的爬虫,最后要了解、明确反爬的方向;
这里将为大家介绍反爬三个方向:
一、基于身份识别进行反爬
二、基于爬虫行为进行反爬
三、基于数据加密进行反爬
接下来是一些常见的手段和方法:
(1)常见基于身份识别进行反爬:
1、通过Headers字段来进行反爬
通过Headers里面的User-Agent字段进行反爬
原理:爬虫默认情况下没有User-Agent;而是使用默认设置
解决:请求前添加User-Agent字段即可;更好是使用User-Agent池来解决
2、通过referer字段来进行反爬
原理:爬虫默认情况下不会带上referer字段,服务器端通过判断请求发起的源头以此来判断请求是否合法。
解决:添加referer字段
3、通过cookie来进行反爬
原理:通过检查来查看发起请求的用户是否具备相应权限,以此来进行反爬。
解决:进行模拟登录,成功获取cookie之后进行数据爬取。
后期会补充相应代码,进行解释说明。