2022.11.18 反爬虫原理学习笔记

2022.11.18
websocket握手验证反爬虫
1.websocket服务器端的代码逻辑:创建socket服务,监听客户端并读取客户端发送的消息,握手验证,通过,101和其他消息,不通过,403,将握手结果发送给客户端
2.websocket客户端的代码逻辑:生成符合规范的握手消息,向服务器发送握手请求,读取服务器推送的消息,握手结果
3.实现反爬虫:1.握手结束后客户端发送特定消息,服务器对该消息进行j校验,校验通过则将服务器端的数据推送给客户端,否则不作处理

websocket ping 反爬虫
1.对于服务器端来说,保持所有客户端链接十分耗费资源,因此可以采用ping的方法j来检查服务器的状态
2.服务器端主动向客户端发送ping帧,如果客户端不回复,或回复的不是pong帧,则可视为异常,主动关闭该连接

总结:
1.信息校验反爬虫主要解决了客户端身份鉴别,数据来源判断和请求的合法性判断等问题,避免数据接收者使用被篡改后的数据,保证数据的有效性。
2.信息校验爬虫包括了,user-agent反爬虫,cookie反爬虫,签名验证反爬虫,websocket反爬虫等等
3.对于user-agent反爬虫而言,判断的是user-agent请求头是否是由爬虫程序,还是正常访问
4.对于cookie而言,是判断是否带有cookie,cookie值是否正确
cookie反爬虫程序往往会与javascript程序结合,先是重定向到生成cookie的程序,再将cookie值与页面跳转传递过去,从而实现对爬虫程序的过滤
5.对签名验证反爬虫而言,验证的主要是post请求中随机生成的关键数值是否符合规范
6.websocket更多是在验证客户端与服务器发送的请求是否正确

你可能感兴趣的:(爬虫,学习)