最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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() #查看處理前的圖片
	# 處理圖片去除干擾
 # 將圖片轉化為灰度圖像
 image = image.convert('L')
 
 threshold = 90 # 設置臨界值,臨界值可調(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(" ", "") #去除結果中的空格
 return res

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

相關文章

  • Win7與Win10下的Tensorboard可視化問題

    Win7與Win10下的Tensorboard可視化問題

    這篇文章主要介紹了Win7與Win10下的Tensorboard可視化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python 下載文件的多種方法匯總

    python 下載文件的多種方法匯總

    這篇文章主要介紹了python 下載文件的多種方法匯總,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python實現(xiàn)自動化Word排版

    Python實現(xiàn)自動化Word排版

    Word是一款廣泛使用的文檔編輯工具,但在排版過程中可能會遇到繁瑣的重復操作,下面我們就來學習一下如何使用Python實現(xiàn)自動化的Word排版,讓文檔編輯變得更加高效便捷吧
    2025-04-04
  • 幾種實用的pythonic語法實例代碼

    幾種實用的pythonic語法實例代碼

    在我理解,Pythonic 就是很 Python 的 Python 代碼。下面這篇文章主要給大家分享介紹了幾種實用的pythonic語法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-02-02
  • python使用numpy計算兩個框的iou方法示例

    python使用numpy計算兩個框的iou方法示例

    這篇文章主要介紹了python使用numpy計算兩個框的iou方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Python實現(xiàn)獲取當前目錄下文件名代碼詳解

    Python實現(xiàn)獲取當前目錄下文件名代碼詳解

    這篇文章主要介紹了Python實現(xiàn)獲取當前目錄下文件名,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python獲取時間戳的多種方法總結

    Python獲取時間戳的多種方法總結

    時間戳是一個表示日期和時間的數(shù)值,通常以秒為單位,在Python中,獲取時間戳是常見的任務,用于記錄事件、計時操作、以及在各種應用中跟蹤時間,本文將介紹多種獲取時間戳的方法,包括標準庫和第三方庫的方式,并提供示例代碼以幫助你更好地理解
    2023-11-11
  • Python高階函數(shù)map()?簡介和使用詳解

    Python高階函數(shù)map()?簡介和使用詳解

    map()?函數(shù)是Python中的內(nèi)置函數(shù),這個函數(shù)又叫做映射函數(shù),其實里面具有一個迭代器的功能,會依次遍歷可迭代對象進行相關的操作,這篇文章主要介紹了Python高階函數(shù)map()?簡介和使用詳解,需要的朋友可以參考下
    2023-03-03
  • python assert斷言的實例用法

    python assert斷言的實例用法

    在本篇文章里小編給大家整理了一篇關于python assert斷言的實例用法,有需要的朋友們可以跟著學習參考下。
    2021-09-09
  • 在python中l(wèi)ist作函數(shù)形參,防止被實參修改的實現(xiàn)方法

    在python中l(wèi)ist作函數(shù)形參,防止被實參修改的實現(xiàn)方法

    這篇文章主要介紹了在python中l(wèi)ist作函數(shù)形參,防止被實參修改的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論

龙海市| 武鸣县| 沭阳县| 新巴尔虎左旗| 古交市| 淮安市| 上杭县| 那坡县| 罗城| 罗山县| 华亭县| 峨山| 南汇区| 凌海市| 明星| 中阳县| 体育| 丁青县| 迭部县| 铁岭市| 新闻| 沧源| 邛崃市| 高雄县| 杭锦旗| 乌兰县| 新余市| 财经| 利津县| 洮南市| 巴彦县| 东源县| 永新县| 巴楚县| 拜泉县| 象州县| 遂昌县| 郁南县| 温宿县| 广南县| 大石桥市|