文档章节

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

python玩家
 python玩家
发布于 07/21 11:37
字数 762
阅读 18
收藏 6

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玩家
粉丝 9
博文 30
码字总数 27477
作品 0
太原
程序员
私信 提问
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爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者
04/25
0
0
菜鸟学Python,上半年文章大汇总

一晃大半年过去了,时间过的真快啊!上半年我一共发表了原创的文章有近45篇,其中有一些是粉丝投稿的!后台总有人留言说查找历史文章不方便,怎么办?为了方便大家阅读,我把上半年的原创文章...

菜鸟学python
06/24
0
0
[python应用案例] 一.BeautifulSoup爬取天气信息并发送至QQ邮箱

前面作者写了很多Python系列文章,包括: Python基础知识系列:Python基础知识学习与提升 Python网络爬虫系列:Python爬虫之Selenium+Phantomjs+CasperJS Python数据分析系列:知识图谱、web...

eastmount
05/03
0
0
从0到1的逆袭之路,Python改变你的学习方式

  随着机器学习的兴起,Python 逐步成为了「最受欢迎」的语言。它简单易用、逻辑明确并拥有海量的扩展包,因此其不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取可科学研究等...

北北北乐
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ViewPager系列之软件主页面切换制作

效果图:ViewPager制作的页面能左右滑动,而Fragment制作的页面却不能左右滑动。 代码: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.......

鱼想吃肉
13分钟前
0
0
大话后端开发的奇淫技巧大集合

Hi,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来 模块化设计 根据业务场景,将业务抽离成独立模块,对外通过接口提供服务...

James-
13分钟前
0
0
函数

1、函数的定义:从function关键字开始,后面跟随{ (1)函数名字 (2)圆括号 (3)花括号 } function arr() {}

墨冥
14分钟前
0
0
ZABBIX 3.4 (一) 监测Nginx状态及脚本

ZABBIX 3.4 (一) 监测Nginx状态及脚本 2018年08月31日 16:56:48 YoFog 阅读数:106 标签: zabbix agentzabbix nginxnginx_status监控nginxzabbix脚本更多 个人分类: 运维 版权声明:本文...

linjin200
15分钟前
0
0
Spring 之 IOC 初始化总结

IOC 容器的初始化过程分为三步骤: Resource 定位 BeanDefinition 的载入和解析 BeanDefinition 注册 Resource 定位。我们一般用外部资源来描述 Bean 对象,所以在初始化 IOC 容器的第一步就...

专业搬砖工程师
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部