91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能

使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能

發布時間:2021-01-29 17:18:18 來源:億速云 閱讀:287 作者:Leah 欄目:開發技術

本篇文章為大家展示了使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

會用到的庫的

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)

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

使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能

處理驗證碼圖片

def deal_code_image(file_name):
 image = Image.open(file_name)
 # image.show() #查看處理前的圖片
	# 處理圖片去除干擾
 # 將圖片轉化為灰度圖像
 image = image.convert('L')
 
 threshold = 90 # 設置臨界值,臨界值可調試
 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怎么提高識別圖片驗證碼實現一個自動登錄功能

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

使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能

上述內容就是使用python3怎么提高識別圖片驗證碼實現一個自動登錄功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常宁市| 隆安县| 合肥市| 吴桥县| 湖南省| 郓城县| 东台市| 手机| 麻阳| 六枝特区| 南阳市| 来安县| 巨鹿县| 永昌县| 潞西市| 嘉善县| 连平县| 政和县| 延津县| 冕宁县| 安新县| 准格尔旗| 桐柏县| 沾益县| 元朗区| 资讯| 辽宁省| 兴隆县| 甘肃省| 普洱| 盐津县| 文昌市| 泸水县| 鹤峰县| 丹阳市| 定西市| 名山县| 和平县| 镇宁| 冕宁县| 抚远县|