python3二维码生成工具
本人python学习菜鸟一枚,随着对python的学习,感觉python越来越好玩了,上次用接口查询IP地址后,又看到有道词典查询、二维码生成等接口相关的方法,并对其做了简单的尝试,确实是挺好玩的。所以将整个过程记录下来。分享在此,供大家一起交流学习。 方法一、调用NowAPI接口实现二维码 1、基本环境 系统:windows 7 开发环境:pycharm python3 相关的模块和库 urlib urllib.parse 2、NowAPI简单的介绍 NowAPI是一家数据服务公司,提供大量的数据接口,对于我们这种学习的菜鸟来说有很多东西可以用来实践,并且有一部分在某个范围内是免费的,对于我们刚接触开发实践是足够了。还有一些python2的示例程序,很不。 官网:https://www.nowapi.com/ 国内类似的公司: 聚合数据:https://www.juhe.cn/docs 百度数据接口:http://apistore.baidu.com/ 极速数据:https://www.jisuapi.com/ 都能提供很多的数据接口,提供免费和收费数据等合作方式。 3、NowAPI二维码接口介绍 1 2 3 4 5 6 7 8 9 10 11 在线生成二维码 注:APIURL可直接在htmlimg标签中使用,如data参数为中文请先urlencode( '中文' )请求示例:http: / / api.k780.com: 88 / ?app = qr.get&data = test&level = L&size = 6 注意:如果您的使用量巨大请联系网站客服备注referer。 请求方式 Get / Post 请求url HTTP:http: / / api.k780.com: 88 HTTPS:https: / / sapi.k780.com请求参数 参数类型是否必须备注 datastring是需要生成二维码内例如:test levelstring否纠错级别< 'L' , 'M' , 'Q' , 'H' >,默认:L sizenumber否大小< 1 - 20 >,默认: 6 4、思路 根据接口文档我们可以采用post提交,而post在python里面主要是带参数提交这里主要是用字典实现参数组合,而用urllib.parse模块的urlencode()方法实现参数和url的组合拼接。然后访问完整url,获取请求回应并写入文件即可。 5、源代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #/usr/bin/envpython #_*_coding:utf-8_*_ import json import urllib import requests import urllib.parse url = 'http://api.k780.com:88' def msgdata(send_msg): #定义一个简单的函数 msg = {} msg[ 'app' ] = "qr.get" msg[ 'data' ] = send_msg msg[ 'level' ] = 'L' msg[ "size" ] = 6 data = urllib.parse.urlencode(msg).encode( "utf-8" ) response = urllib.request.urlopen(url,data) result = response.read() with open (send_msg + "s.jpg" , "wb" )asf: f.write(result) list2 = [ "mysqlDBA" , "docker运维开发工程师" , "云计算巨头openstack" , "redis" , "Centos" , "mongodb" , "swarm" ] for i in list2: msgdata(i) 生成结果示例: 1、centos 2 、docker运维工程师 3、mongodb 4、mysqlDBA 5、redis6、swarms 7、云计算巨头openstack 总结和分析: 以上的二维码是可以用微信等扫一扫等功能扫描出结果。 方法二、依赖qrcode和image包生成二维码 依赖安装 1 2 3 4 pip install qrcode qrcode依赖Image这个包: pip install Image 附代码: 1 2 3 4 5 6 7 8 #!/bin/bash/envpython #-*-congding:utf8-*- import qrcode strlist=[ "http://www.baidu.com" , "MySQLDBA" , "Docker云计算" , "Openstack云计算" ] for index,item in enumerate(strlist): img=qrcode. make (item) with open ( "D:\pythontest\erweima\image" +str(index)+ ".png" , "wb" )asf: img.save(f) 本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1912017,如需转载请自行联系原作者