python3爬虫之设计签名小程序


Posted in Python onJune 19, 2018

本文实例为大家分享了python3设计签名小程序的具体代码,供大家参考,具体内容如下

首先,上一下要做的效果图:

先是这样一个丑陋的界面(我尽力了的真的!)

python3爬虫之设计签名小程序

然后随便输入名字

python3爬虫之设计签名小程序

然后点击按钮会显示出对应的个性签名:

python3爬虫之设计签名小程序

这个是怎么实现的呢?

其实这个是将一个签名网站http://www.uustv.com/的内容爬下来显示了而已:

源代码如下:

from tkinter import * 
import requests 
from tkinter import messagebox 
import re 
from PIL import Image,ImageTk 
def download(): 
  startUrl = 'http://www.uustv.com/' 
  name = entry.get() 
  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' 
 
    req = '<div class="tu"><img src="(.*?)"/></div>' 
    imgUrl = startUrl+(re.findall(req,result.text)[0]) 
    response = requests.get(imgUrl).content 
    with open('{}.gif'.format(name),'wb') as f: 
      f.write(response) 
    #im = Image.open('{}.gif'.format(name)) 
    #im.show() 
    bm = ImageTk.PhotoImage(file = 'E:\py\{}.gif'.format(name)) 
    label2 = Label(root, image = bm) 
    label2.bm = bm 
    label2.grid(row = 2,columnspan = 2) 
 
 
root = Tk() 
root.title('GUI') 
root.geometry('600x300') 
root.geometry('+500+200') 
label = Label(root,text = '签名',font = ('华文行楷',20)) 
label.grid(row=0,column = 0) 
entry = Entry(root,font = ('微软雅黑',20)) 
entry.grid(row = 0,column = 1) 
 
 
Button(root,text = '设计签名',font = ('微软雅黑',20),command = download).grid(row = 1,column = 0) 
 
root.mainloop()

关于图形界面GUI的操作之前博客已经说过了,主要就是三步:

1、root = Tk()

2、将标签和按钮等组件放进去

3、root.mainloop()

这里用的是requests去请求一个网页,post传入参数网址和data,data是怎么获取的呢?

打开浏览器,输入网址然后右键检查元素,点击网络,刷新页面删掉之前的记录,然后输入名字点击获取签名

然后得到页面如下:

python3爬虫之设计签名小程序

注意右边的参数即是我们需要的data,但是输入的名字一直是变得,其余三个是不会变的。

至于关于tkinter这些组件常用的有哪些,这里找到一篇好的博客供大家参考:tkinter模块常用参数(python3)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
python flask 多对多表查询功能
Jun 25 Python
创建Django项目图文实例详解
Jun 06 Python
Django框架视图函数设计示例
Jul 29 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Python绘制动态水球图过程详解
Jun 03 Python
Python Selenium库的基本使用教程
Jan 04 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 #Python
TensorFlow数据输入的方法示例
Jun 19 #Python
深入分析python中整型不会溢出问题
Jun 18 #Python
Python登录注册验证功能实现
Jun 18 #Python
详解python3中zipfile模块用法
Jun 18 #Python
python爬取个性签名的方法
Jun 17 #Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 #Python
You might like
一段防盗连的PHP代码
2006/12/06 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
Vue的百度地图插件尝试使用
2017/09/06 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python重新引入被覆盖的自带function
2014/07/16 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
解决python运行启动报错问题
2020/06/01 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
非常详细的C#面试题集
2016/07/13 面试题
linux比较文件内容的命令是什么
2013/03/04 面试题
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
门市房租房协议书
2014/12/04 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
出生公证书
2015/01/23 职场文书
共青团员自我评价
2015/03/10 职场文书
婚育证明样本
2015/06/16 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis