效果gif
前言
在上次做完图形验证码后,发现识别率不尽人意,可以说是很不满意,稍微有点更多的干扰,打印出来的字符一塌糊涂!这次转手对极验的滑动验证码进行识别。。。
- 目前市面上越来越多的网站的注册登录用滑动验证码进行验证,与人互动的形式来判定你是不是人类操作,所以说,我们要进行破解,就是模仿人体操作进行识别与通过验证!
- 还有一些注意问题后面说,通常也是识别不成功的关键!
- 识别率估摸着有90%以上了!
正序
- 要用到的:selenium、PIL、io、Chrome浏览器、还有驱动浏览器的插件chromediver
流程逻辑
- 打开网页,进入验证页面
- 点击验证按钮,获取完整图片与带缺口的图片进行比对(现在的极验验证码已经不能直接获取完整图片了。。。)
- 计算偏移量
- selenium控制滑块填补空缺,验证完成!
- 封装类,多个方法实现功能
- 初始化值,打开网页,程序完成自动结束!
class CrackGeetest():
def __init__(self):
self.url = 'https://www.geetest.com/type/'
self.browser = webdriver.Chrome()
self.wait = WebDriverWait(self.browser, 20)
# 程序完成,自动结束程序
def __del__(self):
self.browser.close()
def open(self):
"""
打开网页
:return: None
"""
self.browser.get(self.url)
- 进入验证页面,获取验证按钮与验证码的位置
def get_geetest_button(self):
"""
获取初始验证按钮
:return:
"""
# 验证按钮
button