临近年末,大家都忙着签发礼品,写的一手好的签名,会让大家更有成就感,今天,小安就带领大家来设计一个基于tkinter+爬虫的签名设计软件,方便大家设计签名。
要设计这款软件,就需要了解tkinter与爬虫的结合,如何将二者结合起来进行运用,是我们需要掌握的知识点。
先睹为快
1.设计软件界面
首先是输入姓名,然后通过下拉框来选择我们喜欢的字体。这里我们选择了四种字体形式作为展示。然后点击设计签名后,便会将设计好的姓名展示出来,如下图所示:
虽然界面比较简陋,但是却实现了对于签名的设计,是不是觉得很神奇。界面设计的代码如下图所示:
1).声明一个tk对象,初始化屏幕大小,并设定屏幕在(400,200)
2).屏幕上放一个label标签对象和一个Entry输入框对象,然后水平分布
3).第二行主要是放一个按钮和一个下拉框,下拉框里面的事件我们用一个函数Fonts()来绑定
4).最最关键是我们的设计签名这个按钮,一旦我点击了这个按钮我要呈现设计的签名,这里我们用个Get_sign来处理,下面会重点介绍。
2.爬取签名图片
下面是对于爬虫技术的应用,我们所设计的软件,说到底还是利用爬虫技术进行实现。打开我们刚才签名设计的网页,进入开发者模式,点击network选项,通过不断的进行设计签名,我们可以发现re13.php不断地出现,而且是Method方法是post,如下图所示 :
点击进去查看preview,便可以发现我们所需要的设计签名。没错,这就是我们所需要找到的切入点。
查看它的请求url为:http://www.yishuzi.com/b/re13.php,而其提交的表单如下图所示:
上图中,我们需要关心的是id和id1,其分别代表我们的姓名和设计的字体形式,也是我们需要构造的数据。明确了数据的构造,我们就可以利用requests库来模拟浏览器进行数据的请求,返回我们需要的数据。
由于网页返回的内容很简单,是以图片的形式展示,可以直接采用正则表达式的方式去提取图片,然后保存到本地,然后利用PIL和tkinter库进行展示。部分代码如下图所示:
其实就是一个爬虫,然后下载图片最后图片解析并保存到本地。然后把图片显示PTL 这个库来读取并显示。
Python就是这么有趣好玩,很多时候生活中的小的需求,小的灵感一闪而过,你应该把它记下来,动手写写代码并把它实现了,相信当你的代码运行成功的那一刻,你会非常有成就感。
ps:今晚星球8:00开始抽取第一个奖项(4本好书),我们要连续抽7天,天天抽奖!
我们一共份7个奖项,直接现金888元:
特等奖:188元(1名)
一等奖:118元 (1名)
二等奖:88元 (2名)
三等奖:68元 (3名)
四等奖:28元 (4名)
五等奖:18元 (5名)
六等奖:特别安慰奖,图灵好书(4本)
扫码加入星球,立刻抽奖
需要源码可以找小助手,目前源码只会给铁粉!