文档章节

python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python玩家
 python玩家
发布于 2018/07/21 11:37
字数 762
阅读 30
收藏 7

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向!

今天给大家分享一个二维码生成器的爬虫版本实现!

爬虫思路

网上有很多的二维码自动生成的网页,它可以将文本、名片、wifi分享等等都以二维码的形式生成,只需要用带有识别二维码的app就可以识别,比如手机浏览器一般就自带app哦!

PS:这里,普及一个很重要点,不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!重要的事情说三遍!

那么,我们可以找到一个网页,通过requests的请求,去获得对方服务器生成的二维码,达到我们的目标!

大致流程是这样的:

请求URL==>构造请求表单==>获得服务器返回数据==>找到二维码图片地址==>下载图片

代码

代码其实很简单,短短20多行就可以

比较复杂的部分就是里面有几个参数,背景颜色、大小、容错率、形态等等,这里是写好的,也可以做成可输入的,这样比较灵活!最后,把它们做成一个简单的桌面程序

完整代码:

import requests
from tkinter import *
from PIL import Image,ImageTk
def get_ewm():
	url = 'http://www.wwei.cn/qrcode-wwei_create.html'
	strs = entry.get()
	dat = {
		'data[text]':strs,
		'data[type]':'index',
		'level':'L',#容错率 LMQH
		'moban_id':0,
		'qrid':0,
		'size':555,#图像大小,单位px
		'style_setting[bcolor]':'# ffffff',
		'style_setting[fcolor]' : '# 000000',
		'style_setting[inptcolor]':  '# 000000',
		'style_setting[logo_border]': 0,
		'style_setting[logo_height]':46,
		'style_setting[logo_id]':'',
		'style_setting[logo_width]':46,
		'style_setting[mbtype_hb]':0,
		'style_setting[protype]':2,#圆点、直角、液态 0\1\2
		'style_setting[ptcolor]':'# 000000'}
	html = requests.post(url,data=dat).json()
	img_url =  html['png_url']
	with open('123.png','wb') as f:
		f.write(requests.get(img_url).content)
	load = Image.open('123.png')
	im1 = ImageTk.PhotoImage(load)
	label = Label(tk, image=im1,compound = 'bottom')
	label.image = im1
	label.grid(row=2,columnspan=6)
if __name__ == '__main__':
	tk = Tk()
	tk.title('二维码生成器')
	tk.geometry('640x600+200+20')
	entry = Entry(tk, font=('微软雅黑'),width=60)  # 创建输入框
	entry.grid(row=1, column=4)  # 定位第1行3列
	str_b = Button(tk,text='生成二维码',command=get_ewm)
	str_b.grid(row=1,column=5)
	tk.mainloop()

如果想制作其他形式的,可以在主函数中继续添加entry控件接收参数,get_ewm()函数中自动调整相关参数就ok了!

© 著作权归作者所有

共有 人打赏支持
python玩家
粉丝 12
博文 30
码字总数 27477
作品 0
太原
程序员
私信 提问
加载中

评论(1)

没理狡辩
没理狡辩
用的什么版本的python
按钮出不来啊
Python 3.5 协程究竟是个啥

原文链接 : How the heck does async/await work in Python 3.5? 原文作者 : Brett Cannon 译文出自 : 掘金翻译计划 译者 : @Yushneng 校对者: @L9m,@iThreeKing 作者是 Python 语言的核心开...

好铁
2017/10/23
0
0
从python协程理解tornado异步

博客原文地址:http://www.v2steve.com/2015/05/31/python/pytornadoasync/ 刚接触tornado时候最疑惑的问题就是tornado.gen.coroutine是怎么实现的。如何在代码中用同步格式实现异步效果。看...

__Steve__
2015/05/31
0
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
2018/12/15
0
0
python(六)切片,生成式,生成器,迭代

有了前面的基础,其实掌握的比较扎实的话还是能够做出一些简单的东西的,至少解决一些个基本的数学题还是问题不大,比如说实现一个斐波那契数列,杨辉三角什么的。多数情况下使用循环 for .....

Koma
2015/01/20
0
0
Python3.7最新版本使用说明书,请你保管好!

以下是对Python官网内容的翻译 需要注意的是目前这个版本是Python3.7预计发布的四个预览版本之三。 Python Release Python 3.7.0b3 Python数据类 Python生成器异常处理 在Python 3.7中,生成...

糖宝lsh
2018/12/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
7
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部