這里主要使用到的庫是captcha庫,下載的命令如下:
pip install captcha
驗證碼隨機生成代碼,(python 版本:3.6?????captcha 版本:0.3)
from captcha.image import ImageCaptcha
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import random
?
# CSDN author:智軒
# 鏈接:https://blog.csdn.net/bysjlwdx/
?
?
number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
ALPHABET = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
?
?
def random_captcha_text(char_set=number+alphabet+ALPHABET, captcha_size=4):
? ? '''
? ? :param char_set: 驗證碼的候選集
? ? :param captcha_size: 生成驗證碼中元素個數
? ? :return: 返回隨機挑選的captcha_size個元素組成的列表
? ? '''
? ? captcha_text = []
? ? for i in range(captcha_size):
? ? ? ? c = random.choice(char_set)
? ? ? ? captcha_text.append(c)
? ? return captcha_text
?
?
def gen_captcha_text_and_image():
? ? '''
? ? 把 random_captcha_text() 函數所生成列表中的元素組成字符串,
? ? 傳入到實例的方法中,生成對應的圖片
? ? :return: captcha_text為標簽,captcha_image為圖片
? ? '''
? ? image = ImageCaptcha()
?
? ? captcha_text = random_captcha_text()
? ? captcha_text = ''.join(captcha_text) ?# 把列表中的所有元素組成一個字符串
?
? ? captcha = image.generate(captcha_text)
? ? captcha_image = Image.open(captcha)
?
? ? captcha_image = np.array(captcha_image)
? ? return captcha_text, captcha_image
?
?
if __name__ == '__main__':
? ? text, image = gen_captcha_text_and_image()
? ? # 顯示驗證碼圖片
? ? fig = plt.figure()
? ? fig.text(0.1, 0.9, text, ha='center', va='center')
? ? plt.imshow(image)
? ? plt.show()
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
