一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python通過pillow識別動態驗證碼的示例代碼

python通過pillow識別動態驗證碼的示例代碼

2022-03-07 00:02香博士 Python

在上網時,經常會遇到驗證碼,本次試驗將帶領大家認識驗證碼的一些特性,并利用 Python 中的 pillow 庫完成對驗證碼的破解。感興趣的可以了解一下

生活中,我們在登錄微博,郵箱的時候,常常會碰到驗證碼。在工作時,如果想要爬取一些數據,也會碰到驗證碼的阻礙。本次試驗將帶領大家認識驗證碼的一些特性,并利用 Python 中的 pillow 庫完成對驗證碼的破解。

 

環境配置

  • Python 2.7
  • Pillow 模塊

有個問題就是python2.7目前只能讓使用到2020年,現在再利用2.7下載好多東西都會報錯,也該是時候更新到python3.7了,本文還是依賴于2.7的環境。

python通過pillow識別動態驗證碼的示例代碼

識別驗證碼的代碼下載地址:python_captcha.rar

 

 安裝 pillow(PIL)庫

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

 

識別過程

將驗證碼文件python_captcha下載到運行目錄下,解壓后,在 python_captcha 目錄新建 crack.py 文件,進行編輯。

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

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

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

輸出:

python通過pillow識別動態驗證碼的示例代碼

顏色直方圖的每一位數字都代表了在圖片中含有對應位的顏色的像素的數量。

每個像素點可表現 256 種顏色,你會發現白點是最多(白色序號 255 的位置,也就是最后一位,可以看到,有 625 個白色像素)。紅像素在序號 200 左右,我們可以通過排序,得到有用的顏色。

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

輸出:

python通過pillow識別動態驗證碼的示例代碼

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

#-*- 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()

輸出:

python通過pillow識別動態驗證碼的示例代碼

局限及遇到的問題

#-*- coding:utf8 -*-

此行命令流在windows環境下運行會報錯,具體原因可參考python(2)中文編碼亂碼問題;

該命令流有很大的局限性,識別的動態代買也只有此類:

python通過pillow識別動態驗證碼的示例代碼

到此這篇關于python通過pillow識別動態驗證碼的示例代碼的文章就介紹到這了,更多相關python pillow識別動態驗證碼內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_42535423/article/details/103964883

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲网视频 | 精品日韩欧美一区二区三区 | 学生小泬无遮挡女HD | 俄罗斯bbbbbbxxxxxx | 国产精品国产香蕉在线观看网 | 被18号每天强行榨干acg | 大乳一级一区二区三区 | 国产在线视频色综合 | 国产乱子伦在线观看不卡 | 欧洲一级黑寡妇 | 国产精品免费综合一区视频 | 国产欧美综合精品一区二区 | 扒开老师挠尿口到崩溃刑罚 | wankz视频 | ai换脸明星造梦工厂忘忧草 | 99精品国产美女福到在线不卡 | 日本大尺度动漫在线观看缘之空 | 国产成人精品午夜免费 | 国语自产自拍秒拍在线视频 | 国产性视频 | 给我免费观看的视频在线播放 | 日本五十路六十30人8时间 | 日本不卡一区二区三区在线观看 | 美式禁忌在线 | 91香蕉在线| 日本草草视频在线观看 | 成年女人毛片免费观看中文w | 国产3344视频在线观看免费 | 色婷婷婷婷| 久久午夜一区二区 | 顶级尤物极品女神福利视频 | 日韩一级片免费观看 | 国产一级在线免费观看 | 欧美灰丝袜丝交nylons | 九九九久久久 | 99视频在线观看视频 | 丰腴尤物贵妇浪荡小说 | 四虎在线最新永久免费 | 91成人爽a毛片一区二区 | 成人精品福利 | 动漫美女强行被吸乳做羞羞事 |