python签名设计
Posted 双皮奶不要红豆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python签名设计相关的知识,希望对你有一定的参考价值。
将一个签名网站http://www.uustv.com/的内容爬下来显示出来
代码:sign.py
from tkinter import * from tkinter import messagebox import requests import re from PIL import Image,ImageTk #模拟浏览器发送请求 def download(): startUrl = \'http://www.uustv.com/\' name = enter.get() #name = name.strip() if not name: messagebox.showinfo(\'提示:\',\'请输入用户名\') else: data= { \'word\':name, \'sizes\':60, \'fonts\':\'jfcs.ttf\', \'fontcolor\':\'#000000\' } result = requests.post(startUrl,data = data) result.encoding = \'utf-8\' html = result.text reg =\'<div class="tu">.*?<img src="(.*?)"/></div>\' imagePath = re.findall(reg,html) #图片完整路径 imgUrl = startUrl + imagePath[0] #获取图片内容 response = requests.get(imgUrl).content f = open(\'{}.gif\'.format(name),\'wb\') f.write(response) #写入 #怎么把图片放到窗口上,显示图片 bm = ImageTk.PhotoImage(file =\'{}.gif\'.format(name)) label2 = Label(root,image = bm) #image属性 label2.bm = bm #绘图 label2.grid(row = 2,columnspan = 2) #创建窗口 root = Tk() #标题 root.title(\'签名设计\') #窗口大小,中间的是小写的x,而不 是乘号 root.geometry(\'600x300\') #窗口的初始位置 root.geometry(\'+400+300\') #标签的控件 label = Label(root,text = \'签名\',font = (\'华文行楷\',20),fg = \'red\') #grid pack place label.grid() #输入框 enter = Entry(root,font = (\'微软雅黑\',20)) #设置输入框的位置 enter.grid(row = 0,column = 1) #点击按钮 button = Button(root,text = \'设计签名\',font =(\'微软雅黑\',20),command = download) #调用函数 #设置点击按钮的位置 button.grid(row = 1,column = 0) #消息循环,可以理解为显示窗口 root.mainloop()
关于图形界面GUI的操作之前博客已经说过了,主要就是三步:
1、root = Tk()
2、将标签和按钮等组件放进去
3、root.mainloop()
这里用的是requests去请求一个网页,post传入参数网址和data,data是怎么获取的呢?
打开浏览器,输入网址然后右键检查元素,点击网络,刷新页面删掉之前的记录,然后输入名字点击获取签名
然后得到页面如下:
注意右边的参数即是我们需要的data,但是输入的名字一直是变得,其余三个是不会变的。
然后将py文件转换成window上执行的exe文件
需要下载pyinstaller 和pywin32-221.win-amd64-py3.6 ,其中py3.6指的是python版本是3.6,amd64指的是64位,具体的视情况而定 。
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/pywin32-221.win-amd64-py3.6.exe/download
下载安装后,在sign.py文件所在目录中执行pyinstaller -F sign.py 。
会在当前目录下生成类似如下的一个目录结构:
在dist目录中存在新生成的exe文件,可以点击执行,移动到别的目录一样可以执行 。
效果如下:
以上是关于python签名设计的主要内容,如果未能解决你的问题,请参考以下文章