效果图:

实现步骤如下:

实现原理:其实就是套了一层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. 一些 Mysql 维护命令

    ----------------------------------------------------------------------------使用mysql客户端程序------------ ...

  2. GPG error: http://extras.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80

    今天在更新运行apt-get update的时候出现了如下的错误: W: GPG error: http://extras.ubuntu.com trusty Release: The followi ...

  3. Git访问TFS出现权限不足(Using Personal Access Tokens to access Visual Studio Online)

    使用GIT克隆TFS服务器上的代码到本地时出现错误如下: fatal: Authentication failed for 'https://***.visualstudio.com/***Proje ...

  4. DOM介绍

    什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 ...

  5. Nginx性能问题答疑

    为什么Nginx的总体性能比Apache高? Nginx使用的是epoll模型和kqueue的网络I/O模型Apache使用的是传统的select模型.目前linux的高并发场景使用的都是epoll模 ...

  6. 【心得体会】我考完MOS我明白了…

    [心得体会]我考完MOS我明白了… 原创 2017-11-10 MSP-李桑榆 MSPrecious成长荟 MOS备考 这篇文章写给还没有考或者准备考MOS的同学 网上有很多介绍MOS考试的 http ...

  7. Python、R对比分析

    一.Python与R功能对比分析 1.python与R相比速度要快.python可以直接处理上G的数据:R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析, ...

  8. JavaScript的事件概述以及事件对象,事件流

    事件处理程序 JavaScript 事件对象是由访问 Web 页面的用户引起的一系列操作,例如:用户点击页面上的某个按钮或者鼠标移动到页面的某个图片上而产生一系列的互动的反馈. 我们通过为指定事件绑定 ...

  9. Java50道经典习题-程序33 杨辉三角

    题目:打印出杨辉三角形(要求打印出10行如下图)分析:          1         1 1        1 2 1      1 3 3 1    1 4 6 4 11 5 10 10 5 ...

  10. Notepad++格式化JSON字符串

    窗口 -> 插件 -> Plugin Manager -> Show Plugin Manager,在弹出层中找到"JSON Viewer"选项,将踏勾选上,然后 ...