二維碼又稱二維條碼,常見的二維碼爲QR Code,QR全稱Quick Response,是一個近幾年來移動設備上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的信息,也能表示更多的數據類型。python
若是咱們在進行內容分享的時候,直接發給對方一個二維碼或者在本身網站上展現二維碼,是否是顯得比較有逼格。下面咱們就教你們怎麼使用Python生成二維碼並在網站上進行展現。微信
安裝庫 pip install qrcode pip install myqr網站
qrcode庫使用
def gen_qrcode(text): # 建立qrcode對象 qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_Q, box_size=10, border=2, ) qr.add_data(text) # 建立二維碼圖片 img = qr.make_image() # 圖片轉換爲RGBA格式 img = img.convert('RGBA') # 返回二維碼圖片的大小 img_w, img_h = img.size # 打開logo logo = Image.open(os.path.join(BASE_DIR, 'static/images/logo.jpeg')) # logo大小爲二維碼的四分之一 logo_w = img_w // 4 logo_h = img_w // 4 # 修改logo圖片大小 logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS) # 把logo放置在二維碼中間 w = (img_w - logo_w) // 2 h = (img_h - logo_h) // 2 img.paste(logo, (w, h)) qr_path = 'static/imgcard/%s.png' % time.time() img.save(os.path.join(BASE_DIR, qr_path)) return qr_path
參數含義: version:值爲1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣) error_correction:控制二維碼的錯誤糾正功能。可取值下列4個常量。 ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。 ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。 ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。 box_size:控制二維碼中每一個小格子包含的像素數。 border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(默認爲4,是相關標準規定的最小值)ui
myqr庫使用
from MyQR import myqr myqr.run( words='http://www.baidu.com', # words中填寫連接或者文本內容 version=1, # 控制二維碼大小 1~40,建議不要超過5,不然生成時間太長 level='H', # 控制糾錯水平,範圍是L、M、Q、H,從左到右依次升高 picture='background.gif', # 背景圖片,格式能夠是.jpg, .png, .bmp, .gif colorized=True, # 能夠使產生的圖片由黑白(False)變爲彩色(True)的 contrast=1.0, # 用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認爲1.0。 brightness=1.0, # 用來調節圖片的亮度 )
在Django網站上使用
具體代碼請關注微信公衆號:Python爬蟲實戰之路,發送:qrcode,能夠獲取GitHub地址
若是你以爲個人文章還能夠,能夠關注個人微信公衆號,查看更多實戰文章:Python爬蟲實戰之路 也能夠掃描下面二維碼,添加個人微信公衆號編碼