Python爬取个性签名

2023-11-12

#coding:utf-8
#import  tkinter
from tkinter import *
from tkinter import messagebox
import requests
import re
from PIL import Image

def download():
    start_url = 'http://www.uustv.com/'
    name = entry.get().encode('utf-8')
    '''
    *首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,
    即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
    decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。
    encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。
    总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的
    如:s='中文'
    如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用
    decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。
    如下:
    s.decode('utf-8').encode('utf-8')
    decode():是解码
    encode()是编码
    isinstance(s,unicode):判断s是否是unicode编码,如果是就返回true,否则返回false*

    '''
    if not name:
        messagebox.showinfo('提示','请输入姓名再设计!')
        return
    data = {
        'word':name,
        'sizes':'60',
        #'fonts':'jfcs.ttf', # 个性签名
        #'fonts':'qmt.ttf', # 连笔签名
        'fonts': 'bzcs.ttf',# 潇洒签名
        #'fonts':'lfc.ttf',# 草体签名
        #'fonts':'haku.ttf',# 和文签名
        #'fonts':'zql.ttf',# 商务签名
        #'fonts':'yak.ttf',# 可爱签名
        'fontcolor':'#000000'
    }

    result = requests.post(start_url,data = data).content
    reg = '<div class="tu">.*<img src="(.*?)"/></div>'# 截止20180302 网站CSS变动
    result = bytes.decode(result) # byte转换成string
    img_url = start_url + re.findall(reg,result)[0]
    name = 'tmp' # 避免了源代码在win下无法正常写入文件的问题
    response = requests.get(img_url).content
    # 将生成的签名图片下载到本地
    with open('{}.gif'.format(name),'wb')as f:
        f.write(response)
    try:
        im = Image.open('{}.gif'.format(name))
        im.show()
    except:
        print("自己打开看吧!")

root = Tk()
root.title('个性签名设计')
root.geometry('+800+300')# 设置窗口出现在屏幕上面的位置
Label(root,text='姓名',font = ('微软雅黑',15)).grid() # 布局方法不要混用
entry = Entry(root,font=('微软雅黑',15))
entry.grid(row=0,column=1)
button = Button(root,text='设计签名',font=('微软雅黑',15),width = '10',height = 1,command = download)
button.grid(row=1,column=1)
root.mainloop()
'''
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()
'''

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬取个性签名 的相关文章

  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s

随机推荐

  • 软工导论知识框架(二)结构化的需求分析

    本章节涉及很多重要图表的制作 如ER图 数据流图 状态转换图 数据字典的书写等 对初学者来说比较生僻 本贴只介绍基础的轮廓 后面会有单独的帖子详解各图表如何绘制 一 结构化的软件开发方法 结构化的分析 设计 实现 二 需求分析的重要性 1
  • QT5 出现一些问题的解决 办法

    版本 Qt Creator 5 4 0 mingw QT编写串口助手 1 extra qualification Widget on member ConvertHexChar fpermissive error extra qualifi
  • Mybatis使用拦截器实现数据权限

    1 自定义注解 Documented Target ElementType METHOD Retention RetentionPolicy RUNTIME public interface Permission Documented和 D
  • set_input_delay

    set input delay如何约束 3 FPGA时序约束理论篇之IO约束 数字IC剑指offer 建立时间 setup time 和保持时间 hold time 详析 建立时间和保持时间 setup time 和 hold time 数
  • 页面上下、左右滑动(selenium+python:Web自动化)

    1 上下滑动 滑动至页面底部 这个是固定写法 可以直接用 js1 window scrollTo 0 document body scrollHeight self driver execute script js1 滑动至页面顶部 这个也
  • SAS EM(六)时间序列理论

    SAS EM 六 时间序列理论 大家以前会听说过AR模型 MA模型 ARMA模型 ARIMA模型 这些到底是什么呢 今天来简易讲解一下 顺便用sas实操一下 由于本文是基于自己学习的归纳总结 若有讲得不对的地方 也希望读者指出 会及时修改
  • java根据模板生成world文件

    首先找一个world文件模板修改一下 类似如下图修改 修改完之后保存文件先保存xml文件之后修改ftl后缀名 保存成xml之后 有的时候改的有问题 需要使用文本查看器修改 手动的修改完整为 gongchenmingchen 这样的 所以需要
  • 虚拟机教程(一) 启用win10自带虚拟机

    由于本人电脑是win10 故尝试以下win10 自带的Hyper V虚拟机 特写教程如下 刚刚都写好了 不知道什么原因保存失败 刷新后整个都没了 草稿箱都找不到 重新写 一切从简 第一步 打开控制面板 gt 程序和功能 gt 启用windo
  • 浅谈Node中的模块化

    关于这篇文章早在去年年初的时候我就想写一片关于模块化的文章 但是推到现在才来完成也有很多好处 巩固之前对Node的理解 毕竟在我目前的项目中还没有一款项目是用到了Node开发 所以导致我对Node的一些基本知识已经忘记 一 什么是模块化 现
  • mac安装Golang开发环境及快速入门

    目录 一 Mac brew 安装go环境 1 1 安装步骤 1 2 设置GOPATH 及环境变量 1 3 编写第一个go程序 二 快速入门 2 1 快速入门需求 2 2 go学习 自用 2 2 1 go基础程序 2 2 2 变量声明 2 2
  • java递归和非递归实现快排

    Java递归和非递归实现快排 文章目录 Java递归和非递归实现快排 前言 一 快速排序基本逻辑 二 过程演示 三 实现代码 总结 前言 最近复习数据结构 顺便复习快速排序的过程 一 快速排序基本逻辑 快排以某个关键字为基准 将待排序序列分
  • Jenkins 构建打包

    Jenkins构建打包方便了开发人员冗余的打包操作 具体怎么使用呢 这里我们来了解一下 jenkins操作面板 这里有两个情况 1 如果打包配置里已经指定了打包分支 这里会显示 立即构建 2 如果配置了多个打包分支 这里会显示 Build
  • Qt relaease添加调试

    Qt relaease添加调试 设置Qt安装路径下mkspecs common msvc desktop conf里的内容 QMAKE CFLAGS RELEASE WITH DEBUGINFO QMAKE CFLAGS OPTIMIZE
  • AndroidManifest中activity属性参数设置大全

    activity属性设置大全 android alwaysRetainTaskState true false android clearTaskOnLaunch true false android configChanges mcc m
  • 多节锂电串联保护板ic_如何有效保护锂电池板,一款优质的MOS管就能解决

    锂电池几乎应用于我们日常接触到的各类电器之中 但如何保护锂电池 你又是否知道呢 其实在锂电池保护板 最主要的元器件是IC与MOS MOS对锂电池板的保护作用非常大 它可以检测过充电 检测过放电 检测充电时过电电流 检测放电时过电电流 检测短
  • 在vue项目中使用SockJS实现websocket通信

    1 引入SockJS 和Stomp npm install sockjs client npm install stompjs import SockJS from sockjs client import Stomp from stomp
  • python里面读取h5文件报错OSError: Can‘t read data (address of object past end of allocation)

    报错如下 File h5py objects pyx line 54 in h5py objects with phil wrapper File h5py objects pyx line 55 in h5py objects with
  • C#通过WEBREQUEST调用WEBSERVICE

    1 首先通过WSDL说明创建SOAP消息 XML 2 创建WEBREQUEST 将XML加入WEBREQUEST的RequestStream 3 通过WEBREQUEST的Write函数发起请求 4 通过WEBREQUEST的GetResp
  • C语言中的小数

    一个数字 是有默认类型的 对于整数 默认是 int 类型 对于小数 默认是 double 类型 小数分为两种类型 float 4字节 double 8字节 表现形式 十进制形式 4 023 75 0 0 27 指数形式 7 25 102 0
  • Python爬取个性签名

    coding utf 8 import tkinter from tkinter import from tkinter import messagebox import requests import re from PIL import