美文网首页
因为难看的签名尴尬?Python爬虫制作艺术签名软件!

因为难看的签名尴尬?Python爬虫制作艺术签名软件!

作者: 一起学编程 | 来源:发表于2020-04-23 20:03 被阅读0次

    前言

    不管你是在校大学生,已经踏入社会的白领阶层,还是在商界赫赫有名的老总,总会时不时的会要求签名,您还在为你那难看的签名而尴尬吗?从现在起不必了,因为有了这篇文章,在这里有艺术家亲笔为您专门设计的艺术签名,保证可以让你在社交,商业洽谈中挥洒自如,赶紧来看看吧!

    Python爬虫采集网站数据,制作一款签名设计小软件。

    首先咱们进入目标地址:

    因为难看的签名尴尬?Python爬虫制作艺术签名软件!

    可以看到有一个名字输入框,一个字体选择的下拉框,一个设计按钮。

    其实像这种但凡有点经验都能猜到,这就是典型的post提交数据,当然也有可能是API,现在来看看输入内容点设计网页会发生什么变化

    因为难看的签名尴尬?Python爬虫制作艺术签名软件!

    结论:网页地址没有变化,这种情况不能去网页源代码中查找图片地址,即使咱们可以找到

    因为难看的签名尴尬?Python爬虫制作艺术签名软件!

    为什么不能够这样做呢,很明显你这样做的话得到的永远都是同一个名字的签名设计。因为你并没有提交数据(名字,名字的字体)的地方。

    所以咱们还是抓包吧:

    因为难看的签名尴尬?Python爬虫制作艺术签名软件!

    果然是一个post请求,需要提交几个参数,这些参数并没有进行加密,所以咱们直接模拟请求得到源代码即可,得到源代码后把签名图片提取出来。

    当然,既然是一款小软件设计的话,我这里用了tkinter模块来设计软件GUI

    import requests
    from tkinter import *
    import re
    from tkinter import messagebox
    from tkinter import ttk
    from PIL import ImageTk
    from urllib.request import urlretrieve
    path = '签名.gif'
    
    
    def get_image():
        # 去空格
        name = e1.get()
        name = name.strip()
        print(comboxlist.get())
        if name == '':
            messagebox.showerror(title='提示:', message='请输入名字')
        else:
            data = {
    
                'word': name,
                'sizes': '60',
                'fonts': comboxlist.get(),
                'fontcolor': '#000000'
            }
    
            url = 'http://www.uustv.com/'
            req = requests.post(url, data=data)
            req.encoding = req.apparent_encoding
            response = req.text
            reg = re.compile('<div class="tu"><img src="(.*?)"/></div>')
            res = re.findall(reg, response)
            result = url + res[0]
            print(result)
            urlretrieve(result, path)
            # 图片显示到窗口上
            bm = ImageTk.PhotoImage(file=path)
    
            label2 = Label(root, image=bm)
            label2.bm = bm
            label2.grid(row=2, columnspan=2)
    
    
    # 创建窗口
    root = Tk()
    # 标题
    root.title('Python学习群:595948765')
    # 窗口大小     宽 高
    root.geometry('600x310+500+200')
    # 窗口初始位置
    # root.geometry('-500+200')
    # 标签控件
    l1 = Label(root, text='签名', font=('华文行楷', 20), fg='blue')
    l1.grid(row=0, column=0)
    
    e1 = Entry(root, width=25, font=('微软雅黑', 20))
    e1.grid(row=0, column=1)
    # 点击按钮
    button = Button(root, text='设计签名', font=('微软雅黑', 22)
                    , command=get_image)
    button.grid(row=1, column=0)
    
    # textvariable=var
    comboxlist = ttk.Combobox(root, font=('微软雅黑', 20), width=2)
    comboxlist["values"] = ("jfcs.ttf", "bzcs.ttf", "qmt.ttf",
                            "lfc.ttf", "haku.ttf", "zql.ttf", "yqk.ttf")
    comboxlist.grid(row=0, column=2)
    comboxlist.current(0)  # 选择第一个
    root.mainloop()
    
    

    相关文章

      网友评论

          本文标题:因为难看的签名尴尬?Python爬虫制作艺术签名软件!

          本文链接:https://www.haomeiwen.com/subject/qgiaihtx.html