亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python3定位并識別圖片驗證碼實現(xiàn)自動登錄功能

 更新時間:2021年01月29日 14:54:29   作者:茶幾mzcy  
這篇文章主要介紹了python3定位并識別圖片驗證碼實現(xiàn)自動登錄功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

會用到的庫的

1、selenium的webdriver
2、tesserocr或者pytesseract進行圖像識別
3、pillow的Image進行圖片處理

from selenium import webdriver
import tesserocr
from PIL import Image

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['x'] # 定位到截圖位置
 top = code_element.location['y']
 right = code_element.size['width'] + left
 bottom = code_element.size['height'] + top
 im = Image.open(file_name) # 從文件讀取截圖,截取驗證碼位置再次保存
 img = im.crop((left, top, right, bottom))
 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)

注:此方法截圖時屏幕會閃動,可能引發(fā)bug,如下圖,目前沒有解決

Alt

處理驗證碼圖片

def deal_code_image(file_name):
 image = Image.open(file_name)
 # image.show() #查看處理前的圖片
	# 處理圖片去除干擾
 # 將圖片轉(zhuǎn)化為灰度圖像
 image = image.convert('L')
 
 threshold = 90 # 設(shè)置臨界值,臨界值可調(diào)試
 table = []
 for i in range(256):
  if i < threshold:
   table.append(0)
  else:
   table.append(1)

 image = image.point(table, '1')
 # image.show() #查看處理后的圖片
 # 1:使用tesseract庫識別圖片中的驗證碼
 # res = tesserocr.image_to_text(image)
 # 2:使用pytesseract庫識別圖片中的驗證碼
 res = pytesseract.image_to_string(image)

 # print(res) #查看識別出來的文案
 res = res.replace(" ", "") #去除結(jié)果中的空格
 return res

處理前的圖片,有干擾,無法識別

在這里插入圖片描述

處理后的圖片,基本可以識別

在這里插入圖片描述

識別結(jié)果不一定準確,如果驗證碼輸入錯誤,可以點擊換一張圖片再次識別,多次嘗試,本次不做說明

到此這篇關(guān)于python3定位并識別圖片驗證碼實現(xiàn)自動登錄的文章就介紹到這了,更多相關(guān)python識別圖片驗證碼實現(xiàn)自動登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python編寫一個鬧鐘功能

    Python編寫一個鬧鐘功能

    本文給大家分享一個python小程序之基于python編寫的一個鬧鐘功能,需要的的朋友參考下實現(xiàn)代碼吧
    2017-07-07
  • Python實現(xiàn)圖片尺寸縮放腳本

    Python實現(xiàn)圖片尺寸縮放腳本

    這篇文章主要為大家分享了Python實現(xiàn)圖片尺寸縮放的小腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python進程的狀態(tài)、創(chuàng)建及使用方法詳解

    python進程的狀態(tài)、創(chuàng)建及使用方法詳解

    這篇文章主要介紹了python進程的狀態(tài)、創(chuàng)建及使用方法,結(jié)合實例形式詳細分析了Python進程的概念、原理、工作狀態(tài)、創(chuàng)建以及使用方法,需要的朋友可以參考下
    2019-12-12
  • python如何調(diào)用字典的key

    python如何調(diào)用字典的key

    在本篇文章里小編給大家分享的是關(guān)于python調(diào)用字典的key方法實例,有興趣點朋友們可以參考學習下。
    2020-05-05
  • linux之父進程使用kill函數(shù)殺死子進程方式

    linux之父進程使用kill函數(shù)殺死子進程方式

    這篇文章主要介紹了linux之父進程使用kill函數(shù)殺死子進程方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Django 過濾器匯總及自定義過濾器使用詳解

    Django 過濾器匯總及自定義過濾器使用詳解

    這篇文章主要介紹了Django 過濾器匯總及自定義過濾器使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python并發(fā)concurrent.futures和asyncio實例

    Python并發(fā)concurrent.futures和asyncio實例

    這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python內(nèi)置函數(shù) next的具體使用方法

    Python內(nèi)置函數(shù) next的具體使用方法

    這篇文章主要介紹了Python內(nèi)置函數(shù) next的具體使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python 中對 XML 文件的編碼轉(zhuǎn)換問題

    Python 中對 XML 文件的編碼轉(zhuǎn)換問題

    這篇文章主要介紹了Python 中對 XML 文件的編碼轉(zhuǎn)換問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Python實現(xiàn)暴力破解wifi密碼并打包成exe

    Python實現(xiàn)暴力破解wifi密碼并打包成exe

    python號稱是編程界的萬金油,那么是否可以做個讀取電腦網(wǎng)卡wifi并暴力破解的小腳本呢?在這個基礎(chǔ)上為了方便體驗是不是可以將其打包成exe這樣方便執(zhí)行的小應用呢?本文就來和大家一起聊聊
    2022-09-09

最新評論