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发送email的3种方法
Apr 28 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
使用TensorFlow实现二分类的方法示例
Feb 05 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Python enumerate内置库用法解析
Feb 24 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
使用tkinter实现三子棋游戏
Feb 25 Python
python之json文件转xml文件案例讲解
Aug 07 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
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
PHP微信红包API接口
2015/12/05 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
微信小程序数据存储与取值详解
2018/01/30 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
vue如何根据网站路由判断页面主题色详解
2018/11/02 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
python 判断自定义对象类型
2009/03/21 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
python使用tornado实现登录和登出
2018/07/28 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
网络编辑岗位职责
2014/03/18 职场文书
领导干部对照检查材料
2014/08/24 职场文书
世界名著读书笔记
2015/06/25 职场文书
Python实现打乒乓小游戏
2021/09/25 Python
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers