python爬取个性签名的方法


Posted in Python onJune 17, 2018

本文实例为大家分享了python爬取个性签名的具体代码,具体内容如下

#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()
'''

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

Python 相关文章推荐
python k-近邻算法实例分享
Jun 11 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
django模板语法学习之include示例详解
Dec 17 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
python找出因数与质因数的方法
Jul 25 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
django和flask哪个值得研究学习
Jul 31 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 #Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 #Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 #Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 #Python
python主线程捕获子线程的方法
Jun 17 #Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 #Python
Python实现自定义函数的5种常见形式分析
Jun 16 #Python
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
解析php中const与define的应用区别
2013/06/18 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python实现将元祖转换成数组的方法
2015/05/04 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
大学毕业自我评价
2014/02/02 职场文书
工作散漫检讨书
2014/09/16 职场文书
党员转正大会主持词
2015/07/02 职场文书
2015中秋祝酒词
2015/08/12 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸