python python驗證碼識別

2021-07-24 19:40:51 字數 4069 閱讀 8528

最近在做網路資訊保安攻防學習平台的題目,發現有些題居然需要用到驗證碼識別,這玩意以前都覺得是高大上的東西,一直沒有去研究,這次花了點時間研究了一下,當然只是一些基礎的東西,高深的我也不會,分享一下給大家吧。

這次驗證碼識別,我使用的python來實現的,發現python果然是強大無比,但是在驗證碼識別庫的安裝上面有點小問題。

關於python驗證碼識別庫,網上主要介紹的為pytesser及pytesseract,其實pytesser的安裝有一點點麻煩,所以這裡我不考慮,直接使用後一種庫。

要安裝pytesseract庫,必須先安裝其依賴的pil及tesseract-ocr,其中pil為影象處理庫,而後面的tesseract-ocr則為google的ocr識別引擎。

pil-1.1.7.win-amd64-py2.7.exe

pil-1.1.7.win32-py2.7.exe

或者直接使用pillow來代替,使用方法基本沒有什麼區別。

tesseract-ocr-setup-3.02.02.exe

3、pytesseract安裝

直接使用pip install pytesseract安裝即可,或者使用easy_install pytesseract

01#!/usr/bin/env python

02# -*- coding: gbk -*-

03# -*- coding: utf_8 -*-

04# date: 2014/11/27

05# created by 獨自等待

06# 部落格

07try:

08importpytesseract

09frompilimportimage

10exceptimporterror:

11print'模組匯入錯誤,請使用pip安裝,pytesseract依賴以下庫:'

12print''

13print''

14raisesystemexit

15

16image=image.open('vcode.png')

17vcode=pytesseract.image_to_string(image)

18printvcode

識別率還挺高的,當然這也和驗證碼本身有關,因為這個驗證碼設計的比較容易識別。

python識別驗證碼,就是這麼簡單,大家還不快來試一試?

關於php的驗證碼識別,這個我沒有深入研究,但是用python實現完了以後就明白了,其實只要借助ocr識別庫就可以了,直接貼上之前指令碼關第9關的**。

security-scripts-game.html

01<?php

02/**

03* created by 獨自等待

04* date: 2014/11/20

05* time: 9:27

06* name: ocr.php

07* 獨自等待部落格:

08*/

09error_reporting(7);

10if(!extension_loaded('curl'))exit('請開啟curl擴充套件,謝謝!');

11crack_key();

12

13functioncrack_key()

14else

32}

33}

34

35

36functionmkvcode()

37

49if(strlen($vcode) == 4)else

54}

55

56//資料報傳送函式

57functionsend_pack($method,$url,$post_data=array())

58

69$data= curl_exec($curl);

70curl_close($curl);

71return$data;

72}

驗證碼 簡單驗證碼識別

這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...

驗證碼一(驗證碼生成)

根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...

12306驗證碼 驗證碼的架構

最近和眾屌絲一樣,在12306上面刷著春節回家的票。與她大戰無數個回合之後,終於搶到了一張回家的高鐵票,不斷感慨最近人品還不錯。當前,在使用12306的過程中,充滿很多的心酸,念叨了鐵道部的親人很多次 罪過 其中最讓人糾結的一項即是 驗證碼。12306採用驗證碼,無疑是一種很不錯的措施,可以在一定程...