介绍
本篇文章为大家展示了使用python3怎么提高识别图片验证码实现一个自动登录功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
会用到的库的
1,硒的webdriver
2, tesserocr或者pytesseract进行图像识别
3,枕头的图片进行图片处理
得到selenium import webdriver import tesserocr 得到PIL import 图像
tesserocr的安装。
获取验证码图片方法1:
def get_code_image (file_name): ,driver.save_screenshot (file_name), #,截取整个屏幕并保存=,,code_element  driver.find_element_by_class_name (“verify_code_img___1Mei_"), #,定位到验证码元素=,,left  code_element.location [& # 39; x # 39;], #,定位到截图位置=,,top  code_element.location [& # 39; y # 39;】=,,right  code_element.size[& # 39;宽度# 39;],+,离开了=,,bottom  code_element.size[& # 39;高度# 39;],+,顶部 ,我=,Image.open (file_name), #,从文件读取截的图,截取验证码位置再次保存=,,img  im.crop(左,,,,对,,底部)) ,img.save (file_name) 以前,return file_name >获取验证码图片方法2:
def get_code_image (file_name):=,,code_element  driver.find_element_by_class_name (“verify_code_img___1Mei_"), #,定位到验证码元素, 之前,code_element.screenshot (file_name) >注:此方法截图时屏幕会闪动,可能引发错误,如下图,目前没有解决
处理验证码图片
def deal_code_image (file_name):=,,image  Image.open (file_name) ,# image.show(), #查看处理前的图片 #,处理图片去除干扰 ,#将图片转化为灰度图像=,,image  image.convert (& # 39; l # 39;) , 90年,threshold =,, #,设置临界值,临界值可调试=,table [] ,for 小姐:拷贝范围(256): if 才能小姐:& lt;,阈值: ,,table.append (0) 其他的才能: ,,table.append (1)=,,image  image.point(表,,& # 39;1 & # 39;) ,# image.show(), #查看处理后的图片 ,# 1:使用超正方体库识别图片中的验证码 ,# res =, tesserocr.image_to_text(图片) ,# 2:使用pytesseract库识别图片中的验证码=,,res  pytesseract.image_to_string(图片) ,#打印(res), #查看识别出来的文案=,,res  res.replace(,,,,,,,), #去除结果中的空格 res, return 处理前的图片,有干扰,无法识别
处理后的图片,基本可以识别
上述内容就是使用python3怎么提高识别图片验证码实现一个自动登录功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
使用python3怎么提高识别图片验证码实现一个自动登录功能