欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python通過(guò)pillow識(shí)別動(dòng)態(tài)驗(yàn)證碼的示例代碼

 更新時(shí)間:2021年11月23日 15:40:08   作者:香博士  
在上網(wǎng)時(shí),經(jīng)常會(huì)遇到驗(yàn)證碼,本次試驗(yàn)將帶領(lǐng)大家認(rèn)識(shí)驗(yàn)證碼的一些特性,并利用 Python 中的 pillow 庫(kù)完成對(duì)驗(yàn)證碼的破解。感興趣的可以了解一下

生活中,我們?cè)诘卿浳⒉]箱的時(shí)候,常常會(huì)碰到驗(yàn)證碼。在工作時(shí),如果想要爬取一些數(shù)據(jù),也會(huì)碰到驗(yàn)證碼的阻礙。本次試驗(yàn)將帶領(lǐng)大家認(rèn)識(shí)驗(yàn)證碼的一些特性,并利用 Python 中的 pillow 庫(kù)完成對(duì)驗(yàn)證碼的破解。

環(huán)境配置

  • Python 2.7
  • Pillow 模塊

有個(gè)問(wèn)題就是python2.7目前只能讓使用到2020年,現(xiàn)在再利用2.7下載好多東西都會(huì)報(bào)錯(cuò),也該是時(shí)候更新到python3.7了,本文還是依賴于2.7的環(huán)境。

在這里插入圖片描述

識(shí)別驗(yàn)證碼的代碼下載地址:python_captcha_jb51.rar

?安裝 pillow(PIL)庫(kù)

sudo apt-get update
sudo apt-get install python-dev libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
sudo pip2 install pillow

識(shí)別過(guò)程

將驗(yàn)證碼文件python_captcha下載到運(yùn)行目錄下,解壓后,在 python_captcha 目錄新建 crack.py 文件,進(jìn)行編輯。

#-*- coding:utf8 -*-
from PIL import Image

im = Image.open("captcha.gif")
#(將圖片轉(zhuǎn)換為8位像素模式)
im.convert("P")

# 打印顏色直方圖
print im.histogram()

輸出:

在這里插入圖片描述

顏色直方圖的每一位數(shù)字都代表了在圖片中含有對(duì)應(yīng)位的顏色的像素的數(shù)量。

每個(gè)像素點(diǎn)可表現(xiàn) 256 種顏色,你會(huì)發(fā)現(xiàn)白點(diǎn)是最多(白色序號(hào) 255 的位置,也就是最后一位,可以看到,有 625 個(gè)白色像素)。紅像素在序號(hào) 200 左右,我們可以通過(guò)排序,得到有用的顏色。

his = im.histogram()
values = {}

for i in range(256):
    values[i] = his[i]

for j,k in sorted(values.items(),key=lambda x:x[1],reverse = True)[:10]:
    print j, k

輸出:

在這里插入圖片描述

我們得到了圖片中最多的 10 種顏色,其中 220 與 227 才是我們需要的紅色和灰色,可以通過(guò)這一訊息構(gòu)造一種黑白二值圖片。

#-*- coding:utf8 -*-
from PIL import Image

im = Image.open("captcha.gif")
im.convert("P")
im2 = Image.new("P",im.size,255)


for x in range(im.size[1]):
    for y in range(im.size[0]):
        pix = im.getpixel((y,x))
        if pix == 220 or pix == 227: # these are the numbers to get
            im2.putpixel((y,x),0)

im2.show()

輸出:

在這里插入圖片描述

局限及遇到的問(wèn)題

#-*- coding:utf8 -*-

此行命令流在windows環(huán)境下運(yùn)行會(huì)報(bào)錯(cuò),具體原因可參考python(2)中文編碼亂碼問(wèn)題;

該命令流有很大的局限性,識(shí)別的動(dòng)態(tài)代買也只有此類:

在這里插入圖片描述

到此這篇關(guān)于python通過(guò)pillow識(shí)別動(dòng)態(tài)驗(yàn)證碼的示例代碼的文章就介紹到這了,更多相關(guān)python pillow識(shí)別動(dòng)態(tài)驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3中的bytes和str類型詳解

    Python3中的bytes和str類型詳解

    這篇文章主要介紹了Python3中的bytes和str類型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python數(shù)據(jù)可視化之日期折線圖畫法

    python數(shù)據(jù)可視化之日期折線圖畫法

    這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)可視化之日期折線圖畫法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python中反射和描述器總結(jié)

    Python中反射和描述器總結(jié)

    這篇文章主要介紹了Python中的反射和描述器一些知識(shí)的匯總,非常的詳細(xì),有需要的小伙伴可以參考下
    2018-09-09
  • django 中的聚合函數(shù),分組函數(shù),F(xiàn) 查詢,Q查詢

    django 中的聚合函數(shù),分組函數(shù),F(xiàn) 查詢,Q查詢

    這篇文章主要介紹了django 中的聚合函數(shù),分組函數(shù),F(xiàn) 查詢,Q查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 利用Python實(shí)時(shí)獲取steam特惠游戲數(shù)據(jù)

    利用Python實(shí)時(shí)獲取steam特惠游戲數(shù)據(jù)

    Steam是由美國(guó)電子游戲商Valve于2003年9月12日推出的數(shù)字發(fā)行平臺(tái),被認(rèn)為是計(jì)算機(jī)游戲界最大的數(shù)碼發(fā)行平臺(tái)之一。本文將利用Python實(shí)時(shí)獲取steam特惠游戲數(shù)據(jù),感興趣的可以嘗試一下
    2022-06-06
  • python抓取網(wǎng)頁(yè)內(nèi)容示例分享

    python抓取網(wǎng)頁(yè)內(nèi)容示例分享

    這篇文章主要介紹了python抓取網(wǎng)頁(yè)內(nèi)容示例,在抓取的時(shí)候?qū)τ趃bk編碼網(wǎng)頁(yè)還需要轉(zhuǎn)化一下,具體看下面的示例吧
    2014-02-02
  • 淺談哪個(gè)Python庫(kù)才最適合做數(shù)據(jù)可視化

    淺談哪個(gè)Python庫(kù)才最適合做數(shù)據(jù)可視化

    數(shù)據(jù)可視化是任何探索性數(shù)據(jù)分析或報(bào)告的關(guān)鍵步驟,目前有許多非常好的商業(yè)智能工具,比如Tableau、googledatastudio和PowerBI等,本文就詳細(xì)的進(jìn)行對(duì)比,感興趣的可以了解一下
    2021-06-06
  • Python使用Opencv實(shí)現(xiàn)圖像特征檢測(cè)與匹配的方法

    Python使用Opencv實(shí)現(xiàn)圖像特征檢測(cè)與匹配的方法

    這篇文章主要介紹了Python使用Opencv實(shí)現(xiàn)圖像特征檢測(cè)與匹配的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Django 序列化的具體使用

    Django 序列化的具體使用

    django rest framework 中的序列化組件,本文主要介紹了Django 序列化的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python常用函數(shù)與用法示例

    python常用函數(shù)與用法示例

    這篇文章主要介紹了python常用函數(shù)與用法,涉及Python文件讀取、刪除、數(shù)值計(jì)算、打印等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07

最新評(píng)論