Python識別字母數字組合驗證碼
在爬蟲過程中難免會遇到驗證碼,各種驗證碼似乎阻擋了爬蟲的腳步。
因為本文實現的功能是在內網環境下完成的,所以沒有程式碼介紹,也沒有識別效果顯示。
1、編碼和轉換樣本影像。
2、得到一個能夠反映影像特徵的code,然後儲存所有這些樣本影像的code。
3、圖片轉換code的方法可以選擇hash進行轉換。
圖片轉換code的方法我選擇的hash轉換過程如下:
縮放:圖片縮放8*8。
求平均值:計算灰度圖中所有畫素的平均值。
比較:畫素值大於平均值1,反之0,總共64位。
生成hash:將上述步驟生成的1和0按順序組合成圖片的指紋(hash)。順序不固定。但比較時必須有相同的順序。
在獲得hash值後,將同一數字對於圖片的hash值存在於txt檔案中,在實際使用時,對預測影像進行上述相同的預處理操作,出4張圖片,然後計算出4張預測影像的hash值,將測試影像的hash值與TXT檔案中的hash進行比較,計算出漢明距離,即兩個64位的hash值有多大不同,不同位數越少,圖片越相似。
在獲得測試影像與每個樣本影像hash值的漢明距離後,進行統計,平均取預測值最大的樣本影像標籤作為預測值。識別速度也不錯,平均只需要0.3秒就可以完成一次識別。
這種識別方法操作簡單,對簡單的字母數字組合驗證碼非常有效,但對影像預處理提出了更高的要求,不具有泛化性。不同的驗證碼每次都需要單獨編輯規則。
以上就是Python識別字母數字組合驗證碼的方法,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2471/viewspace-2828264/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript數字和字母組合驗證碼詳解JavaScript
- 識別英文數字驗證碼的程式(Python示例)Python
- 使用 Ruby 識別英文數字驗證碼
- 使用 Swift 識別英文數字驗證碼Swift
- 使用 OCaml 識別英文數字驗證碼
- 使用 C# 識別英文數字驗證碼C#
- python 驗證碼識別示例(一) 某個網站驗證碼識別Python網站
- python利用Tesseract識別驗證碼Python
- Python識別網站驗證碼Python網站
- 識別英文數字驗證碼的程式(C# 示例)C#
- PHP實現隨機數字、字母的驗證碼功能PHP隨機
- 一對一聊天原始碼,驗證碼生成隨機數字排列組合原始碼隨機
- 驗證碼識別
- 利用PyTorch訓練模型識別數字+英文圖片驗證碼PyTorch模型
- 使用 Fantom 程式語言實現英文數字驗證碼識別
- 神器!使用Python 輕鬆識別驗證碼Python
- Java之生成一個隨機驗證碼(數字+大小寫字母)Java隨機
- 初探驗證碼識別
- 影片直播app原始碼,傳送驗證碼 驗證碼識別APP原始碼
- 常見驗證碼的弱點與驗證碼識別
- 每次登入驗證都用Python來識別驗證碼,真的是太方便了!Python
- Python爬蟲教程-29-驗證碼識別-Tesseract-OCRPython爬蟲
- Python高效深度學習機器識別驗證碼教程分享Python深度學習
- 驗證碼的識別和運用
- 一對一聊天原始碼,驗證碼選擇輸入字母驗證原始碼
- 【全網最高識別率】國稅局驗證碼識別
- 簡單的數字驗證碼破解
- 【爬蟲系列】1. 無事,Python驗證碼識別入門爬蟲Python
- 有了這個Python庫,免費實現驗證碼識別!Python
- 機器視覺以及驗證碼識別視覺
- PHP非字母數字の程式碼PHP
- js驗證數字JS
- Python中存放10000個6位隨機數字的驗證碼Python隨機
- playwright--自動化(二):過滑塊驗證碼 驗證碼缺口識別
- 【驗證碼識別專欄】今天不煉丹,用 cv 來秒驗證碼
- 17_電話號碼的字母組合
- 驗證碼的前世今生:從圖文識別到無感驗證
- 實時驗證碼技術可改進生物識別身份驗證