因为难看的签名尴尬?Python爬虫制作艺术签名软件!
前言
不管你是在校大学生,已经踏入社会的白领阶层,还是在商界赫赫有名的老总,总会时不时的会要求签名,您还在为你那难看的签名而尴尬吗?从现在起不必了,因为有了这篇文章,在这里有艺术家亲笔为您专门设计的艺术签名,保证可以让你在社交,商业洽谈中挥洒自如,赶紧来看看吧!
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()
相关推荐
夜斗不是神 2020-11-17
染血白衣 2020-11-16
ARCXIANG 2020-11-02
ARCXIANG 2020-10-28
CycloneKid 2020-10-27
荒谬小孩 2020-10-26
逍遥友 2020-10-26
snakeson 2020-10-09
meylovezn 2020-08-28
囧芝麻 2020-08-17
数据挖掘工人 2020-08-15
cxcxrs 2020-07-28
dashoumeixi 2020-07-20
sunzhihaofuture 2020-07-19
我欲疾风前行 2020-07-06
sunzhihaofuture 2020-07-04
Dimples 2020-06-28