zoukankan      html  css  js  c++  java
  • 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()
    View Code

    关于图形界面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文件,可以点击执行,移动到别的目录一样可以执行 。

    效果如下:

  • 相关阅读:
    SCCM 补丁更新 失误排错一例
    Oracle 远程连接 DB配置 连接命令
    反向代理服务器
    用JMF播放音频 例子
    HTML css兼容
    Java国际化
    JBPM 之介绍,使用
    Nginx内核优化引用
    Nginx 学习
    局域网访问VMware虚拟机中的Ubuntu
  • 原文地址:https://www.cnblogs.com/catxjd/p/9065219.html
Copyright © 2011-2022 走看看