本人python学习菜鸟一枚,随着对python的学习,感觉python越来越好玩了,上次用接口查询IP地址后,又看到有道词典查询、二维码生成等接口相关的方法,并对其做了简单的尝试,确实是挺好玩的。所以将整个过程记录下来。分享在此,供大家一起交流学习。
1、基本环境
系统:windows 7
开发环境:pycharm python3
相关的模块和库 urlib urllib.parse
2、NowAPI简单的介绍
NowAPI是一家 数据服务公司,提供大量的数据接口,对于我们这种学习的菜鸟来说有很多东西可以用来实践,并且有一部分在某个范围内是免费的,对于我们刚接触开发实践是足够了。还有一些python2的示例程序,很不。
国内类似的公司:
百度数据接口:http://apistore.baidu.com/
都能提供很多的数据接口,提供免费和收费数据等合作方式。
3、NowAPI二维码接口介绍
在线生成二维码 注:API URL可直接在html img标签中使用,如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请求参数 参数类型是否必须备注 data string 是 需要生成二维码内例如:test level string 否 纠错级别 <‘L‘,‘M‘,‘Q‘,‘H‘>,默认: L size number 否 大小 <1-20>,默认: 6
4、思路
根据接口文档我们可以采用post提交,而post在python里面主要是带参数提交这里主要是用字典实现参数组合,而用urllib.parse模块的urlencode()方法实现参数和url的组合拼接。然后访问完整url,获取请求回应并写入文件即可。
5、源代码
#/usr/bin/env python #_*_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") as f: 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、redis 6、swarms
7、云计算巨头openstack
总结和分析: 以上的二维码是可以用微信等扫一扫等功能扫描出结果,缺点就是对中文不能识别,后面在研究对中文的解析与处理