Python基于內(nèi)置庫(kù)pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別功能
這篇文章主要介紹了Python基于內(nèi)置庫(kù)pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
環(huán)境準(zhǔn)備:
1、安裝Tesseract模塊
git文檔地址:https://digi.bib.uni-mannheim.de/tesseract/
下載后就是一個(gè)exe安裝包,直接右擊安裝即可,安裝完成之后,配置一下環(huán)境變量,編輯 系統(tǒng)變量里面 path,添加下面的安裝路徑:
2、如果您想使用其他語(yǔ)言,請(qǐng)下載相應(yīng)的數(shù)據(jù),(我們只做中文,暫時(shí)下載一個(gè)中文的文字訓(xùn)練數(shù)據(jù)就可以) ,然后將.traineddata文件復(fù)制到'tessdata'目錄中。C:\Program Files (x86)\Tesseract-OCR\tessdata
3、配置環(huán)境變量:
編輯 系統(tǒng)變量里面 path,添加下面的安裝路徑:C:\Program Files (x86)\Tesseract-OCR
cmd命令模式下測(cè)試是否安裝成功:
tesseract test.jpg text -l chi_sim
4、安裝python的第三方庫(kù):
pip install pillow #一個(gè)python的圖像處理庫(kù),pytesseract依賴 pip install pytesseract
5、找到pytesseract的安裝包,C:\Python34\Lib\site-packages\pytesseract,編輯pytesseract.py文件(此步驟必須做,否則運(yùn)行代碼時(shí)會(huì)報(bào)錯(cuò)):
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
代碼實(shí)例:
簡(jiǎn)單驗(yàn)證碼代碼:
import requests
from PIL import Image
import pytesseract
'''
簡(jiǎn)單驗(yàn)證碼
'''
# 驗(yàn)證碼地址
url = "https://www.renrendai.com/passport/index/captcha?time=1551682134111"
response = requests.get(url).content
#將圖片寫(xiě)入文件
with open('yzm.png','wb') as f:
f.write(response)
f.close()
'''識(shí)別驗(yàn)證碼'''
#第一步:通過(guò)內(nèi)置模塊PIL打開(kāi)文件
pic = Image.open('yzm.png')
#第二步:識(shí)別圖片中的內(nèi)容
pic_str = pytesseract.image_to_string(pic)
print("驗(yàn)證碼識(shí)別結(jié)果為:",pic_str)
百度文庫(kù)圖片文檔的識(shí)別:
#下載圖片
baidu_url = "https://wkretype.bdimg.com/retype/zoom/4127ed79a26925c52cc5bf99?pn=2&o=jpg_6&md5sum=9cdc209bc34a40ed774f7e14c0be59c4&sign=5dbcb28bf1&png=11238-22475&jpg=41808-117940"
baidu_pic = requests.get(baidu_url).content
#圖片寫(xiě)入文件
with open('baidu_pic.jpg','wb') as f:
f.write(baidu_pic)
f.close()
#識(shí)別驗(yàn)證碼
baidu_img = Image.open('baidu_pic.jpg')
baidu_img_str = pytesseract.image_to_string(baidu_img,lang="chi_sim")
print('百度文庫(kù)圖片內(nèi)容為:',baidu_img_str)
復(fù)雜的驗(yàn)證碼,直接識(shí)別不了,可以使用超級(jí)鷹的第三方接口,如有需要,自己進(jìn)行賬號(hào)的注冊(cè),這里直接貼代碼嘍:
from chaojiying import Chaojiying
chaojiying_url= "http://www.chaojiying.com/include/code/code.php?u=1"
response = requests.get(chaojiying_url).content
with open('rryz.png','wb') as f:
f.write(response)
f.close()
#讀取文件內(nèi)容
with open('rryz.png','rb') as f:
pic1 = f.read()
#調(diào)用第三方打碼平臺(tái)接口識(shí)別驗(yàn)證碼
yz = Chaojiying(username='*****', password='****', soft_id='****')
res = yz.post_pic(pic1,codetype='1902').get('pic_str') #1902 驗(yàn)證碼類型
print('識(shí)別的結(jié)果:',res)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 非常簡(jiǎn)單的Python識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)過(guò)程
- python爬蟲(chóng)如何解決圖片驗(yàn)證碼
- python3定位并識(shí)別圖片驗(yàn)證碼實(shí)現(xiàn)自動(dòng)登錄功能
- python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的示例代碼
- Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題(推薦)
- python自動(dòng)化實(shí)現(xiàn)登錄獲取圖片驗(yàn)證碼功能
- python爬蟲(chóng)反爬之圖片驗(yàn)證功能實(shí)現(xiàn)
相關(guān)文章
對(duì)django 模型 unique together的示例講解
今天小編就為大家分享一篇對(duì)django 模型 unique together的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python 快速實(shí)現(xiàn)CLI 應(yīng)用程序的腳手架
本篇文章主要介紹了Python 快速實(shí)現(xiàn)CLI 應(yīng)用程序的腳手架,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Python實(shí)現(xiàn)爬蟲(chóng)IP負(fù)載均衡和高可用集群的示例代碼
做大型爬蟲(chóng)項(xiàng)目經(jīng)常遇到請(qǐng)求頻率過(guò)高的問(wèn)題,這里需要說(shuō)的是使用爬蟲(chóng)IP可以提高抓取效率,本文主要介紹了Python實(shí)現(xiàn)爬蟲(chóng)IP負(fù)載均衡和高可用集群的示例代碼,感興趣的可以了解一下2023-12-12
python數(shù)字圖像處理之高級(jí)形態(tài)學(xué)處理
這篇文章主要介紹了python數(shù)字圖像處理之高級(jí)形態(tài)學(xué)處理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python獲取秒級(jí)時(shí)間戳與毫秒級(jí)時(shí)間戳的示例代碼
這篇文章主要介紹了Python獲取秒級(jí)時(shí)間戳與毫秒級(jí)時(shí)間戳的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python使用xlrd模塊讀寫(xiě)Excel文件的方法
這篇文章主要介紹了python使用xlrd模塊讀寫(xiě)Excel文件的方法,較為詳細(xì)的分析了xlrd模塊的安裝、使用與操作Excel文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05

