前言
由于工作需要,开始研究滑块验证码,毕竟咱是搞数据的,不是搞图像识别的,根据以往的经验,先去git上面找一下相关项目,找到一个大佬写的心得。由于太久远了,就简单的改了改,发现了一个Python的新模块,人生苦短,我用Python,诚不欺我呀!
下面是git地址
git地址
分析
这里主要用到了opencv-python,这个有点太大了,想要完全吃透,起码也要一个月。最终决定:能用就行
按照思路:
1.初始化浏览器
def __init__(self, url, username, password):
"""
初始化浏览器配置,设置常亮
:param url : 目标网址
:param username : 用户名
:param password : 密码
"""
# 无头浏览器,有需要时可以打开, 由于我要看到滑动过程 所以暂时不选择无头
# profile = webdriver.FirefoxProfile()
self.browser = webdriver.Chrome()
self.wait = WebDriverWait(self.browser, 30)
self.url = url
self.username = username
self.password = password
2.保存图片
def save_img(block_img_url):
"""
保存图片
:param block_img_url: 图片url
:return:
"""
try:
img = requests.get(block_img_url).content
with open('block.jpeg', "wb") as f:
f.write(img)
return True
except:
return False
3.识别缺口,这里主要就是用到了opencv-python
def get_gap():
"""
识别缺口
:return:
"""
img = cv.imread('block.jpeg')
# 处理高斯滤波
G_Blur = cv.GaussianBlur(img,(5,