91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么通過pillow識別動態驗證碼

發布時間:2021-11-23 17:33:16 來源:億速云 閱讀:340 作者:iii 欄目:開發技術

這篇文章主要講解了“python怎么通過pillow識別動態驗證碼”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python怎么通過pillow識別動態驗證碼”吧!

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

環境配置

  • Python 2.7

  • Pillow 模塊

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

python怎么通過pillow識別動態驗證碼

識別驗證碼的代碼下載地址:python_captcha_jb51.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識別動態驗證碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

于都县| 东港市| 襄垣县| 忻州市| 永兴县| 庄浪县| 通江县| 从化市| 濮阳市| 铁力市| 阿拉尔市| 海南省| 交城县| 策勒县| 巴中市| 涞水县| 济宁市| 正蓝旗| 谷城县| 磐石市| 吉水县| 阳春市| 咸阳市| 元氏县| 永嘉县| 虎林市| 卫辉市| 台前县| 江陵县| 鞍山市| 阿巴嘎旗| 灵寿县| 晋宁县| 南川市| 将乐县| 磐安县| 张家港市| 三门县| 阳高县| 梁河县| 尉氏县|