利用Python實現(xiàn)簡單的驗證碼處理
序言
我們在做采集數(shù)據(jù)的時候,過快或者訪問頻繁,或者一訪問就給彈出驗證碼,然后就蚌珠了~
今天就給大家來一個簡單處理驗證碼的方法
環(huán)境模塊
這里需要用到一個 ddddocr 模塊 ,這是別人開源寫好的一個東西,簡單又好用,但是精確度差一點點,但是還是非常好用的。
如果你追求精確度的話,可以調(diào)用別人寫好的一些API 。
咱們直接 win+r 彈出搜索框后輸入 cmd ,點擊確定彈出命令提示符窗口, 輸入pip install ddddocr 即可安裝。
不會的話詳細(xì)參考我置頂文章有詳細(xì)講解。
代碼展示
代碼不多,非常簡單。
模塊安裝好之后咱們先導(dǎo)入一下:
import ddddocr
然后實例化一下,用一個 cor 接收一下這個數(shù)據(jù)。
ocr = ddddocr.DdddOcr()
我這里準(zhǔn)備了四個驗證碼:




首先我們用 with open 來讀取一下這文件,讀取方式使用 rb ,因為是圖片的話就讀取它的二進(jìn)制數(shù)據(jù)
with open('img_3.png', 'rb') as f:使用 f.read() 將數(shù)據(jù)讀取出來,再自定義一個變量接收一下。
img_bytes = f.read()
然后我們通過 classification 將它傳進(jìn)去,把結(jié)果打印出來就可以了。
result = ocr.classification(img_bytes) print(result)
實現(xiàn)效果:
純數(shù)字的


字母+數(shù)字的


可以看到都完整的識別出來了,即使上面有一些花里胡哨的橫線啥的。
完整代碼
import ddddocr
ocr = ddddocr.DdddOcr()
with open('img_3.png', 'rb') as f:
img_bytes = f.read()
result = ocr.classification(img_bytes)
print(result)大家可以自己去試試,也可以直接應(yīng)用在采集數(shù)據(jù)實踐當(dāng)中~
到此這篇關(guān)于利用Python實現(xiàn)簡單的驗證碼處理的文章就介紹到這了,更多相關(guān) Python驗證碼處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python networkx 包繪制復(fù)雜網(wǎng)絡(luò)關(guān)系圖的實現(xiàn)
這篇文章主要介紹了python networkx 包繪制復(fù)雜網(wǎng)絡(luò)關(guān)系圖的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼
大家好,今天這篇文章我將詳細(xì)講解 Pipe 如何讓你的代碼更加簡潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
python 使用sys.stdin和fileinput讀入標(biāo)準(zhǔn)輸入的方法
今天小編就為大家分享一篇python 使用sys.stdin和fileinput讀入標(biāo)準(zhǔn)輸入的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python中利用await關(guān)鍵字如何等待Future對象完成詳解
為了簡化并更好地標(biāo)識異步IO,從Python 3.5開始引入了新的語法async和await,可以讓coroutine的代碼更簡潔易讀。下面這篇文章主要給大家介紹了關(guān)于python中利用await關(guān)鍵字如何等待Future對象完成的相關(guān)資料,需要的朋友可以參考下。2017-09-09

