python3二维码生成工具

发布时间:2019-09-26 07:34:04编辑:auto阅读(2094)

      本人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二维码接口介绍

    在线生成二维码
    注: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

    wKiom1jdvPjjTEh0AAABFIwgT3M918.jpg-wh_50wKioL1jd***DR7IKAAABXvcKe5o780.jpg-wh_50wKioL1jd***xE_ZFAAABFnQJe-o995.jpg-wh_50

    4、mysqlDBA                   5、redis                                6、swarms

    wKiom1jdvPqQGhcxAAABEsWLUNA688.jpg-wh_50wKioL1jdvPuRAcy7AAABHuA1f0U991.jpg-wh_50wKiom1jdvPuQrbl7AAABGWCRQwc035.jpg-wh_50

    7、云计算巨头openstack

    wKioL1jdvPzBI2slAAABVCzURls603.jpg-wh_50

    总结和分析: 以上的二维码是可以用微信等扫一扫等功能扫描出结果。

    方法二、依赖qrcode和p_w_picpath包生成二维码


    依赖安装

    pip install qrcode
    
    qrcode 依赖 Image 这个包:
    pip install Image

    附代码:

    #!/bin/bash/env  python
    #-*-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\p_w_picpath"+str(index)+".png","wb") as f:
      img.save(f)


关键字