tkinter調取簽名網而設計簽名頁面(十七)

Tynam.Yang發表於2018-04-20
 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內容,萬謝!!

相關文章