效果图:

实现步骤如下:

实现原理:其实就是套了一层GUI的壳,主要还是爬虫抓取某个网站返回的数据,然后利用python自带的GUI工具包Tkinter来实现gui界面:

1.爬虫分析:

目标站点:http://www.uustv.com

1、可以看到是通过提交表单传递数据的

参数有:

word: 风道
sizes: 60
fonts: jfcs.ttf
fontcolor: #

2、找到返回的图片数据在返回的响应中,

3、主要实现逻辑

response = requests.post(url, data=data, headers=headers)
response.encoding = 'utf-8' # 指定返回数据的编码格式,因为响应内容默认的编码方式是ISO-8859-1
# Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符
# 或者可以直接写html = reponse.content.decode("utf-8")
html = response.text
img = re.findall(r'<div class="tu">.*?src="(.*?)".*?</div>', html)[0]
# print('img:', img)
image_url = 'http://www.uustv.com/%s' % img
# 下载图片
res = requests.get(image_url).content

2:了解python自带的GUI界面模块tkinter

Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口

实现一个GUI

from tkinter import * 

# 定义一个接口对象
master = Tk() #运行GUI,窗口持久化
master.mianloop()

3:GUI设置(具体可看注释,还有Tkinter的文档)

# GUI模块,python2.7是Tkinter
# 创建窗口控件对象
root = tkinter.Tk()
root.title('pythonGUI签名设计')
# root.geometry('600x300')
# root.geometry('+400+200')
root.geometry('550x360+400+200') # 指定窗口大小,和显示的偏移量,在屏幕中显示的位置 # 设置单选框,存储类型为字符串,options是从网上爬取下来的选项
var = StringVar()
var.set('jfcs.ttf') # 设置一个默认的选项
count = 0
for mode, text in options:
b = Radiobutton(master=root, text=text, variable=var, value=mode)
b.grid(row=1, column=count)
count += 1 # 文本输入框在第二行开始
label = tkinter.Label(root, text='姓名:', font=('微软雅黑', 15))
label.grid(row=2, column=0, pady=5)
# 创建文本框
name_entry = tkinter.Entry(root, font=('微软雅黑', 20))
name_entry.grid(row=2, column=1, columnspan=6, pady=5) # 显示默认的图片,在第一行
default_img = PhotoImage(file='images/蓝月亮.gif')
label = Label(root, image=default_img)
label.grid(row=0, column=0, columnspan=count, pady=10) # 设置按钮
tkinter.Button(root, text='一键设计签名', font=('微软雅黑', 15), width='', height='',
command=getImg).grid(row=3, column=1, columnspan=5, pady=5) root.mainloop() # 窗口持久化

 项目代码:请点击

以上,不足之处请多指教,Thanks~!

参考:http://effbot.org/tkinterbook/label.htm

https://www.cnblogs.com/kongzhagen/p/6154903.html

python爬虫练习 -- 签名器+GUI界面(Tkinter)的更多相关文章

  1. python实现的、带GUI界面电影票房数据可视化程序

    代码地址如下:http://www.demodashi.com/demo/14588.html 详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采 ...

  2. Python 实现的、带GUI界面的词云生成器

    代码地址如下:http://www.demodashi.com/demo/14233.html 详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率 ...

  3. GUI界面------tkinter

    import tkinter as tk class APP: def __init__(self,master): frame = tk.Frame(master) frame.pack(side ...

  4. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  5. python大法好——ython GUI编程(Tkinter)

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  6. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 二.Tkinter 是什么 三.Tkinter 控件详细介绍 1. T ...

  7. Python内建GUI模块Tkinter(一)

    Python主窗口 Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个 ...

  8. Python又把GUI界面攻下了,今天就告诉你怎么玩

    0.引言 学Python这么久了,一直想做个界面出来,最近发现Python有个内置库tkinter,利用它可以很轻松做出一些简易的UI界面,首先来看Python官方对Tkinter的说明: The t ...

  9. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

随机推荐

  1. Kafak Confluent

  2. JS的Event Loop

    JavaScript是单线程的,只有一个执行栈,一次只能做一件事. 在浏览器中,却“好像”可以同时做几件事:点击,发送请求,执行多个函数,解析代码. 这是因为浏览器实现的Event Loop机制. W ...

  3. Python交互式编辑器ipthon notebook jupyter

    简介 IPython NoteBook(jupyter)是一个综合的交互式编程环境,比原本python命令进入的交互式环境要强大很多,总之就是炫酷加实用,浏览器中写Python代码,访问源端linux ...

  4. HTML5新增的标签和属性归纳

    收集总结的HTML5的新特性,基本除了IE9以下都可以使用. HTML5语法 大部分延续了html的语法 不同之处:开头的 <!DOCTYPE html> <html lang=&q ...

  5. [翻译] SlideInView

    SlideInView This is a quick and lightweight example of how to present a notification like view from ...

  6. 【运维】linux命令查看端口占用情况,杀死进程,后台启动进程

    1.查看端口占用情况:> lsof -i:port COMMAND    PID    USER    FD    TYPE   DEVICE    SIZE/OFF    NODE  NAME ...

  7. exchange 2010 邮件服务器owa证书更新

    exchange 2010应用环境 四台前端服务器,两台位于DMZ区,两台位于办公网环境,办公网和DMZ的服务器做了NLB负载均衡,操作系统为windows server 2008 r2. 目前前端h ...

  8. Python学习---JSON学习180130

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javascript对象: Json字符串就是js对象的一种表现形式(字符串的形式 ...

  9. MQ环境的搭建

    MQ环境的搭建

  10. C# Razor 小笔记和某些细节

    知识小结:C# 的主要 Razor 语法规则 单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格. //不能有空格 ...