佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能

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

熱門標(biāo)簽:百度AI接口 電話運(yùn)營(yíng)中心 呼叫中心市場(chǎng)需求 客戶服務(wù) 硅谷的囚徒呼叫中心 企業(yè)做大做強(qiáng) 語音系統(tǒng) Win7旗艦版

會(huì)用到的庫的

1、selenium的webdriver
2、tesserocr或者pytesseract進(jìn)行圖像識(shí)別
3、pillow的Image進(jìn)行圖片處理

from selenium import webdriver
import tesserocr
from PIL import Image

tesserocr的安裝.

獲取驗(yàn)證碼圖片方法1:

def get_code_image(file_name):
 driver.save_screenshot(file_name) # 截取整個(gè)屏幕并保存
 code_element = driver.find_element_by_class_name("verify_code_img___1Mei_") # 定位到驗(yàn)證碼元素
 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) # 從文件讀取截圖,截取驗(yàn)證碼位置再次保存
 img = im.crop((left, top, right, bottom))
 img.save(file_name)
 return file_name

獲取驗(yàn)證碼圖片方法2:

def get_code_image(file_name):
 code_element = driver.find_element_by_class_name("verify_code_img___1Mei_") # 定位到驗(yàn)證碼元素 
 code_element.screenshot(file_name)

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

處理驗(yàn)證碼圖片

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庫識(shí)別圖片中的驗(yàn)證碼
 # res = tesserocr.image_to_text(image)
 # 2:使用pytesseract庫識(shí)別圖片中的驗(yàn)證碼
 res = pytesseract.image_to_string(image)

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

處理前的圖片,有干擾,無法識(shí)別

處理后的圖片,基本可以識(shí)別

識(shí)別結(jié)果不一定準(zhǔn)確,如果驗(yàn)證碼輸入錯(cuò)誤,可以點(diǎn)擊換一張圖片再次識(shí)別,多次嘗試,本次不做說明

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

您可能感興趣的文章:
  • python爬取企查查企業(yè)信息之selenium自動(dòng)模擬登錄企查查
  • Appium+Python實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)化登錄測(cè)試的實(shí)現(xiàn)
  • Python模擬鍵盤輸入自動(dòng)登錄TGP
  • Python自動(dòng)登錄QQ的實(shí)現(xiàn)示例
  • Python 實(shí)現(xiàn)自動(dòng)登錄+點(diǎn)擊+滑動(dòng)驗(yàn)證功能
  • python自動(dòng)化實(shí)現(xiàn)登錄獲取圖片驗(yàn)證碼功能
  • Python 自動(dòng)登錄淘寶并保存登錄信息的方法
  • python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能
  • python爬蟲之利用selenium模塊自動(dòng)登錄CSDN

標(biāo)簽:喀什 安康 海南 濟(jì)南 山西 崇左 長(zhǎng)沙 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    娄底市| 永兴县| 新密市| 新乡县| 马边| 日照市| 锡林郭勒盟| 大荔县| 阿拉善右旗| 会泽县| 湘西| 舒兰市| 吴江市| 尖扎县| 富平县| 桓台县| 兴和县| 江门市| 包头市| 揭西县| 浠水县| 九龙城区| 博湖县| 西昌市| 五家渠市| 湘乡市| 铁力市| 肇源县| 莎车县| 临朐县| 揭西县| 邵阳县| 定兴县| 东山县| 西丰县| 策勒县| 汝南县| 行唐县| 武义县| 丹寨县| 临泉县|