1. 程式人生 > >python爬蟲練習 -- 簽名器+GUI界面(Tkinter)

python爬蟲練習 -- 簽名器+GUI界面(Tkinter)

語言 gen 模塊 geometry rep mode 窗口 下載 參考

效果圖:

技術分享圖片

實現步驟如下:

實現原理:其實就是套了一層GUI的殼,主要還是爬蟲抓取某個網站返回的數據,然後利用python自帶的GUI工具包Tkinter來實現gui界面:

1.爬蟲分析:

目標站點:http://www.uustv.com

1、可以看到是通過提交表單傳遞數據的

參數有:

word: 風道
sizes: 60
fonts: jfcs.ttf
fontcolor: #000000

技術分享圖片

2、找到返回的圖片數據在返回的響應中,

技術分享圖片

3、主要實現邏輯

response = requests.post(url, data=data, headers=headers)
response.encoding 
= utf-8 # 指定返回數據的編碼格式,因為響應內容默認的編碼方式是ISO-8859-1
#
Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符
# 或者可以直接寫html = reponse.content.decode("utf-8")
html = response.text
img
= re.findall(r<div class="tu">.*?src="(.*?)".*?</div>, html)[0]
# print(‘img:‘, img)
image_url = http://www.uustv.com/%s
% img
# 下載圖片
res = requests.get(image_url).content

2:了解python自帶的GUI界面模塊tkinter

Tkinter模塊("Tk 接口")是Python的標準Tk GUI工具包的接口

實現一個GUI

from tkinter import * 

# 定義一個接口對象
master = Tk()

#運行GUI,窗口持久化
master.mianloop()   

3:GUI設置(具體可看註釋,還有Tkinter的文檔)

# GUI模塊,python2.7是Tkinter
    # 創建窗口控件對象
    root = tkinter.Tk()
    root.title(
pythonGUI簽名設計) # root.geometry(‘600x300‘) # root.geometry(‘+400+200‘) root.geometry(550x360+400+200) # 指定窗口大小,和顯示的偏移量,在屏幕中顯示的位置 # 設置單選框,存儲類型為字符串,options是從網上爬取下來的選項 var = StringVar() var.set(jfcs.ttf) # 設置一個默認的選項 count = 0 for mode, text in options: b = Radiobutton(master=root, text=text, variable=var, value=mode) b.grid(row=1, column=count) count += 1 # 文本輸入框在第二行開始 label = tkinter.Label(root, text=姓名:, font=(微軟雅黑, 15)) label.grid(row=2, column=0, pady=5) # 創建文本框 name_entry = tkinter.Entry(root, font=(微軟雅黑, 20)) name_entry.grid(row=2, column=1, columnspan=6, pady=5) # 顯示默認的圖片,在第一行 default_img = PhotoImage(file=images/藍月亮.gif) label = Label(root, image=default_img) label.grid(row=0, column=0, columnspan=count, pady=10) # 設置按鈕 tkinter.Button(root, text=一鍵設計簽名, font=(微軟雅黑, 15), width=15, height=1, command=getImg).grid(row=3, column=1, columnspan=5, pady=5) root.mainloop() # 窗口持久化

項目代碼:請點擊

以上,不足之處請多指教,Thanks~!

參考:http://effbot.org/tkinterbook/label.htm

https://www.cnblogs.com/kongzhagen/p/6154903.html

python爬蟲練習 -- 簽名器+GUI界面(Tkinter)