一、Cookie反爬虫技术原理
(1)什么是Cookie反爬虫?
Cookie反爬虫是指服务器通过校验请求头中的Cookie值来区分正常用户和爬虫的手段,深入来说一般服务器对Cookie的有效性、时效性和内容进行校验,确认请求来自于已授权或已登录的用户。
如果爬虫仅仅是简单地抓取网页而不处理或模拟正常浏览器的Cookie行为,那么服务器就可能通过检查请求头中缺失或无效的Cookie信息来判断这个请求并非来自真实的用户,从而触发反爬虫策略,如拒绝服务、返回错误信息、限制访问速度或频率等。
(2)Cookie反爬虫原理
① 服务器直接响应的Cookie反爬
浏览器向服务器发送请求,服务器直接在HTTP响应头中设置Cookie,下次请求的时候需要再带上Cookie去进行请求。
例如,服务器可能会设置一个有效期较短、内容随机生成的Token作为Cookie,每次请求都需要验证此Token的有效性和一致性来判断是否为合法用户。
② 服务器响应的JS生成Cookie反爬
浏览器向服务器发送请求,服务器返回的是一段JS代码,浏览器需要解析JS代码,通过JS代码生成的Cookie再去请求服务器,从而得到真正想要的数据。
例如,服务器通过返回HTML页面中嵌入JavaScript代码来动态生成和设置Cookie。由于许多基础爬虫不执行JavaScript,因此无法获取到由JavaScript生成的Cookie信息。服务器可能使用这种方式来隐