相信不少Python爬虫工程师会经常遇到验证码的问题,验证码分有很多种,现在就来说说关于滑动验证码一般都有哪些方法呢?这一个稍微比较有难度。
1 系统层工具的使用
就是第三方工具通过系统层api进行各类操作,这类工具基本完全模拟人的行为,无法通过js指纹收集直接检测其是否为工具。sikuli,相信有自动化测试经验的人知道,想了解更多可以自己百度搜索。
2 selenium webdriver
应该不陌生吧?这个工具的作用是驱动浏览器工作,并向浏览器嵌入代码从而实现对浏览器的操控。功能强大到你想不到。
3 图像匹配技术,这个涉及的知识点较多,包括
a 屏幕截图、使用原生代码对当前窗口截图;
b 图像识别,通过验证码图像与截图中图像相似度匹配找到验证码所在位置;
c 找到验证码在浏览器中的实际位置
d 使用代码api实现拖动。
4 逆向前端js
如果说机器学习对滑动验证码的帮助,无非就是收集一大堆前端信息,如:鼠标轨迹、滑动条拖动速度、浏览器指纹、XFF、页面刷新频率等信息,然后回传到后端进行分析。这种方式基本就是hook前端函数,在处理或者发送指纹信息的时候对其进行篡改,使得前端回传的数据包由机器学习判别结果为正常从而达到绕过效果,但这种绕过方式通常是最难的。广州中软卓越Python培训www.gzetc.com.cn