簡單的驗證碼識別

作為學(xué)了兩個多月python的小白,深深地感受到“由此可得”的惡意,所以文章力求詳細。

1.工具和環(huán)境

語言: python3.5

系統(tǒng):win7 64位

瀏覽器:chrome

2.安裝

2.1PIL安裝

打開命令提示符,輸入 pip install Pillow ,按Enter即可。

關(guān)于PIL模塊的教程,參考http://www.cnblogs.com/apexchu/p/4231041.html

2.2Tesseract安裝

下載地址:https://code.google.com/p/tesseract-ocr/downloads/list

如果沒有VPN,翻不了墻,直接網(wǎng)上搜EXE安裝包直接安裝即可。

注意在 “Language data” 那個選項里,默認是只勾選了英文的,如果需要進行其他語言的識別,記得勾選對應(yīng)的語言。

接著一路下一步就可以了。

安裝完了之后需要設(shè)置 環(huán)境變量。

具體步驟是 右擊我的電腦--左擊屬性--高級系統(tǒng)設(shè)置--高級--環(huán)境變量--選中PATH--編輯



在變量值一欄的最后加入 剛才安裝的 Tesseract的路徑,以英文的分號“;”結(jié)尾。

2.3pytesser3

注意,這里是pytesser3,而不是pytesser。

目前網(wǎng)上的教程基本上都是只適用python2.x的pytesser,因為這個我浪費了兩個多小時試了各種教程,最后才發(fā)現(xiàn)github上有個大神做了一個適用于python3.x的輪子,附上地址https://github.com/songluyi/pytesser3

安裝過程很簡單,在命令提示符輸入:pip install pytesser3,按Enter。

3.驗證碼識別

3.1圖片降噪

所謂降噪就是將驗證碼上的干擾信息去除掉。比如背景,干擾線,干擾像素等等,只剩下需要識別的文字,讓圖片變成2進制點陣最好。


驗證碼圖片7346.jpg


from PIL import Image

im = Image.open("7364.jpg")

im_gary = im.point(lambda x: 0 if x<143 else 255) #二值化處理

im_gary.show()


處理后的驗證碼:


二值化后的驗證碼

處理后背景上的噪點就沒有了。

3.2 利用pytesser模塊實現(xiàn)識別

from PIL import Image

import pytesser3

print (pytesser3.image_file_to_string('7364.jpg'))


代碼其實很簡單的,真正的難度是在安裝模塊上面。

如果運行代碼出現(xiàn)了下面這種情況:


那么請修改__init__.py里面第十二行tesseract_exe_name為你tesseract安裝路徑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近在爬取一個網(wǎng)站的時候,當(dāng)爬取到一定數(shù)量的時候會遇到服務(wù)器的驗證碼驗證,經(jīng)過對驗證碼的識別,發(fā)現(xiàn)驗證碼比較規(guī)范,...
    羅盤上的方向閱讀 696評論 9 8
  • 第一次接觸圖像解析,隨便上網(wǎng)搜羅了一些資料自己整理了一下就不要臉的寫了下來,有錯的地方還望指點. 先說說大致流程吧...
    哇噗哇噗蛇閱讀 1,255評論 0 49
  • 前言 相信大家利用 Python 寫的爬蟲應(yīng)該遇到過要輸入驗證碼的尷尬局面,又或者寫了個自動填充表單的小程序,結(jié)果...
    迦度藍洛閱讀 16,697評論 2 35
  • 原文地址:http://drops.wooyun.org/tips/141 0×00 簡介 驗證碼作為一種輔助安全...
    羅義的夏天閱讀 1,768評論 0 8
  • 越來覺得世上的道道絕非你一眼望去的那么簡單,千轉(zhuǎn)百回總要有一個道道,所以我不評判任何,但我知曉里面的酸甜苦辣,沒有...
    卦爻閱讀 268評論 1 0

友情鏈接更多精彩內(nèi)容