将一个签名网站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签名设计的更多相关文章

  1. Python GUI--Tkinter简单实现个性签名设计

    一.Tkinter的介绍和简单教程Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序.由于 Tkinter 是内置到 pytho ...

  2. Python的设计哲学探究

    在Python shell中输入import this就会在屏幕上打印出来Python的设计哲学,如下: In [25]: import this The Zen of Python, by Tim ...

  3. [Python学习笔记][第五章Python函数设计与使用]

    2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...

  4. len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...

  5. python的设计原则及设计模式

    python的设计原则及设计模式 七大设计原则 单一职责原则 [SINGLE RESPONSIBILITY PRINCIPLE] 一个类负责一项职责. 里氏替换原则 [LISKOV SUBSTITUT ...

  6. 用tkinter制作签名设计窗口

    效果如下: from tkinter import * from tkinter import messagebox import requests import re from PIL import ...

  7. Python课程设计 搭建博客

    安装包Github地址 Python综合设计 233博客 注意还有个email文件是需要填入自己信息的,比如最高权限账号和要发送邮件的账号密码 请安装Python2.7环境,本服务器所用环境为 设置环 ...

  8. Python的设计哲学--zen of Python

               Python的设计哲学--zen of Python Beautiful is better than ugly. 优美胜于丑陋 Explicit is better than ...

  9. Python基础教程(004)--Python的设计哲学

    前言 Python已经成为了一门流行的编程语言. 知识点 1,优雅 2,明确 3,简单 Python开发者的哲学是:用一种方法,最好是只有一种方法来做一件事. 如果面临多种选择,Python开发者都会 ...

随机推荐

  1. SpringMVC4整合CXF发布WebService

    SpringMVC4整合CXF发布WebService版本:SpringMVC 4.1.6,CXF 3.1.0项目管理:apache-maven-3.3.3 pom.xml <project x ...

  2. input预览上传图片

    html代码 <input type="file" name="file" id="file" > <img src=&q ...

  3. LeetCode OJ :Remove Linked List Elements (移除链表元素)

    Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...

  4. validate参数校验和数据回显

    服务端校验 校验理解 项目中,通常使用较多的是前段的校验,比如在页面中js校验.对于安全要求较高的建议在服务端进行校验. 服务端校验: 控制层controller:校验页面请求的参数的合法性.在服务端 ...

  5. 一个css3 DNA 效果

    这个效果就是 不断沿 Y 轴旋转 <div id="container"></div> <style> body{ background:bla ...

  6. Android的方法和属性(1)

    1.Activity常用的方法 View findViewById(int id) //根据组件的ID取得组件对象 setContentView(int layoutResID) //设置布局文件,设 ...

  7. [置顶] Kubernetes1.7新特性:新增自动伸缩条件和参数

    一.核心概念 Horizontal Pod Autoscaling,简称HPA,是Kubernetes中实现POD水平自动伸缩的功能.云计算具有水平弹性的特性,这个是云计算区别于传统IT技术架构的主要 ...

  8. 使用stm32F4Discovery 的stlink v2给其他板子调试

    不适用stm8. 1. 拔掉 CN3 的 跳线帽 2.CN2 的 原理图 3.按照2中的原理图和板子(核心板stm32c8t6),实际上我这边连接使用的结果是: 4. 5. 6.相关资料: 链接:ht ...

  9. 【学习】JennyHui学自动化测试

    学习材料:虫师的Python书,乙醇的教程 Selenium 常用的键盘事件 智能等待 处理富文本框 定位 界面数据与数据库数据对比 Excel操作 下载文件 Selenium 2.0 学习笔记 == ...

  10. DbEntry 访问Access2010数据库

    在用DbEntry访问Access2010的时候报错如下: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序 解决方案: 安装AccessDatabaseEngine组 ...