Python爬虫图片验证码和滑块验证码识别总结
前言
当我们使用selenium进行浏览器模拟的时候,已经可以解决大多数数据加密问题了,我们直接模拟浏览器行为采集数据了,但是图片验证码和滑块验证码识别对于我们浏览器模拟来说是无法绕开的反爬问题。
解决图片验证码和滑块验证码的思路
常见的使用OpenCV进行图像识别,计算出滑块的移动距离,使用selenium进行对滑块拖动
这种方法虽然是一个方案。但是OpenCV学习难度大,即使学习成功使用不熟练也只能解决一些简单的图片识别。稍微复杂点的就需要耗费大量时间进行尝试,解决验证码的代价太大,得不偿失。
可以使用第三方专业的工具对OpenCV这个功能进行代替,如使用第三方云码平台,直接调用它的API对滑块图片进行传入就会直接返回滑块移动距离,直接使用selenium拖动滑块。方便快捷,功能强大稳定。
对于selenium拖动滑块到指定位置还是不能成功的原因记录
首先,先看一下你的selenium浏览器尽量多的屏蔽自动化行为,有可能是被爬取的网址识别出你是机器,所以失效
其次,就是在移动滑块的时候,要有真人的感觉,比如:先快后慢,有小幅度的上下抖动类似的行为调整