1 # --*-- coding:utf-8 --*-- 2 3 import tkinter as tk 4 import re 5 import requests 6 from tkinter import messagebox 7 from PIL import Image,ImageTk 8 9 # 建立視窗 10 wuya = tk.Tk() 11 # 設定視窗title 12 wuya.title("舞涯簽名") 13 # 設定視窗大小 14 wuya.geometry("600x330+300+200") 15 16 # 下載簽名 17 def download(): 18 url = 'http://www.uustv.com/' 19 # 獲得輸入內容 20 name = ety.get() 21 # 去空格 22 name = name.strip() 23 if name == '': 24 messagebox.showinfo("提示","請輸入使用者名稱") 25 else: 26 # 設定post資料 27 data = { 28 'word':name, 29 'sizes':60, 30 'fonts':'jfcs.ttf', 31 'fontcolor':'#000000' 32 } 33 34 # 請求網頁 35 result = requests.post(url=url,data=data) 36 # 獲取網頁原始碼 37 result.encoding = 'utf-8' 38 html = result.text 39 # 正規表示式匹配需要的內容 40 reg = '<div class="tu">.*?<img src="(.*?)"/></div>' 41 img = re.findall(reg,html) 42 # 獲取圖片路徑 43 imgurl = url + img[0] 44 # 獲取圖片內容 45 response = requests.get(url=imgurl).content 46 47 # 將獲取的圖片儲存到本地 48 f = open('{}.gif'.format(name),'wb') 49 f.write(response) 50 f.close() 51 52 # 顯示圖片 53 bm = ImageTk.PhotoImage(file='{}.gif'.format(name)) 54 lb2 = tk.Label(wuya,image=bm) 55 lb2.bm = bm 56 lb2.place(x=30,y=100) 57 58 59 # 簽名輸入框標籤 60 lb = tk.Label(wuya,text="輸入您的名字:",font=("黑體",22),fg='red') 61 lb.place(x=50,y=20) 62 63 # 輸入框 64 ety = tk.Entry(wuya,font=("黑體",22)) 65 ety.place(x=200,y=20) 66 67 # 生成簽名按鈕 68 bt = tk.Button(text="生成簽名",width=7,font=("黑體",18),command=download) 69 bt.place(x=200,y=60) 70 71 72 wuya.mainloop()
結果如下:
此程式碼來源於優酷視訊,筆者看了一遍視訊學的。詳情不做解釋。有興趣的可以去優酷看視訊瞭解。
http://v.youku.com/v_show/id_XMzUyODI5NTY5Ng==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2&f=51380420
雖說是公開課內容,但是筆者沒有獲得原作者的授權就將程式碼貼出來,實有不妥,如讀者遇到原作者還希望告知筆者copy內容,萬謝!!