<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
思路:先選擇線上簽名網站,找到介面模擬請求,然後將生成的簽名圖片顯示在 Tkinter 生成的 GUI 視窗上,最後儲存生成的簽名圖片
選擇網址為:http://www.uustv.com/
首先了解爬蟲的基本步驟:
發起請求 :即傳送一個Request,可能包含額外的headers,data等資訊
獲取響應內容 :得到網頁的HTML檔案內容
解析內容:可以使用正規表示式提取出想要的內容
儲存資料:將資料存為文字,或mp3,mp4等檔案或存到資料庫等
例如如:
程式碼:
root =Tk() root.title('簽名工具') root.resizable(0,0) option='1.藝術籤 2.連筆籤 3.商務籤 4.楷書籤 5,瀟灑籤 6.草體籤 7.行書籤 8.個性籤 9.可愛籤' var1=StringVar(value='') var2=StringVar(value='') lable1=Label(root,text=option,font=('黑體',6)) lable2=Label(root,text='輸入你的名字:',font=('黑體',13)) entry1=Entry(root,width=40,font=('黑體',13),textvariable=var1) entry2=Entry(root,width=10,font=('黑體',13),textvariable=var2) button=Button(root,text='確定',command=lambda:check()) lable1.grid(row=0,columnspan=3) lable2.grid(row=0,column=0) entry1.grid(row=1,column=1) entry2.grid(row=1,column=2) button.grid(row=1,column=3) root.mainloop()
1. 爬取的網頁樣式:目的獲取紅色框的圖片
2. 請求網頁需要的引數:url和表單資料data
url:
表單資料: 如圖下四個引數:
fonts為簽名樣式在網頁的真實值,我們輸入的樣式
word為輸入的名字
程式碼:
signature = ['1.ttf','zql.ttf','8.ttf','6.ttf','bzcs.ttf','lfc.ttf','2.ttf','3.ttf','yqk.ttf'] url='http://m.uustv.com/' #請求網頁需要的引數 data ={ 'word':name, 'sizes':60, 'fonts':signature[num-1], #實際程式碼中的1表示0 'fontcolor': '#000000' } #1.對需要爬取的網頁發起請求 2. 獲取響應的內容 response=requests.post(url,data)
3.爬取圖片的步驟
#1.對需要爬取的網頁發起請求 2. 獲取響應的內容 response=requests.post(url,data) response.encoding='utf-8' print(response.text) #3.解析內容 imgXpath='<img src="(.*?)"/></div>' #對請求回來的資料進行提取 imgUrls=re.findall(imgXpath,response.text) #正則取下來的是一個列表 content=requests.get(url+imgUrls[0]).content #4.將獲取的二進位制內容儲存為圖片 with open('{}.gif'.format(name),'wb') as f: f.write(content) #5.顯示圖片 bg_img=ImageTk.PhotoImage(file='{}.gif'.format(name)) #6.將圖片在GUI的底部顯示 lable=Label(root,image=bg_img) lable.bg_img=bg_img lable.grid(row=2,columnspan=4) #在第三行顯示,合併四列 except: messagebox.showinfo('提示',message='生成失敗') pass
4. 爬取的結果:
from tkinter import * from tkinter import messagebox from PIL import Image,ImageTk #pip install pillow顯示圖片 import re import requests root =Tk() root.title('簽名工具') root.resizable(0,0) option='1.藝術籤 2.連筆籤 3.商務籤 4.楷書籤 5,瀟灑籤 6.草體籤 7.行書籤 8.個性籤 9.可愛籤' var1=StringVar(value='') var2=StringVar(value='') def check(): #輸入規範處理 name = entry1.get() num = entry2.get() flag = True if num.isdigit(): num= int(num) if name=='': var1.set('不能為空') flag= False if name.isdigit(): var1.set('不能為數位') flag= False if type(num) == type(' ') or num== '': var2.set('1-9') flag=False else: if num>9 or num <1: var2.set('1-9') flag = False if flag : get_img(name,num) #輸入的使用者名稱稱和簽名 pass def get_img(name,num,root=root): try: #這裡的介面font是選擇簽名的樣式 signature = ['1.ttf','zql.ttf','8.ttf','6.ttf','bzcs.ttf','lfc.ttf','2.ttf','3.ttf','yqk.ttf'] url='http://m.uustv.com/' #請求網頁需要的引數 data ={ 'word':name, 'sizes':60, 'fonts':signature[num-1], #實際程式碼中的1表示0 'fontcolor': '#000000' } #1.對需要爬取的網頁發起請求 2. 獲取響應的內容 response=requests.post(url,data) response.encoding='utf-8' print(response.text) #3.解析內容 imgXpath='<img src="(.*?)"/></div>' #對請求回來的資料進行提取 imgUrls=re.findall(imgXpath,response.text) #正則取下來的是一個列表 content=requests.get(url+imgUrls[0]).content #獲取的圖片是二進位制檔案 #4.將獲取的二進位制內容儲存為圖片 with open('{}.gif'.format(name),'wb') as f: f.write(content) #5.顯示圖片 bg_img=ImageTk.PhotoImage(file='{}.gif'.format(name)) #6.將圖片在GUI的底部顯示 lable=Label(root,image=bg_img) lable.bg_img=bg_img lable.grid(row=2,columnspan=4) #在第三行顯示,合併四列 except: messagebox.showinfo('提示',message='生成失敗') pass lable1=Label(root,text=option,font=('黑體',6)) lable2=Label(root,text='輸入你的名字:',font=('黑體',13)) entry1=Entry(root,width=40,font=('黑體',13),textvariable=var1) entry2=Entry(root,width=10,font=('黑體',13),textvariable=var2) button=Button(root,text='確定',command=lambda:check()) lable1.grid(row=0,columnspan=3) lable2.grid(row=0,column=0) entry1.grid(row=1,column=1) entry2.grid(row=1,column=2) button.grid(row=1,column=3) root.mainloop()
以上就是Python+Tkinter製作線上個性簽名工具的詳細內容,更多關於Python Tkinter個性簽名的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45