使用python,识别是否是二维码图片

近期在工作时,需要对二维码甄别并剔除,上网搜了一些资料,常用的方式基本上是三种zbar/zbarlight/Zxing配合着pillow来进行二维码的内容读取

本身就是用的ubuntu系统,所以在装上述几个库的时候都报错,有懒的再去找原因,找资料

直接上网找了一些三方的网站

  • 在线解码器
  • 草料二维码

测试发现

  • 草料二维码相对的不够稳定,同一张图片,有的时候可以读取出内容,有的时候则读不出内容,好处是gif和png都能识别出来
  • 在线解码器,成功率更高,但是不能处理gif文件,不过还好我的图片都是存储到7牛云上的,所以使用七牛提供的服务将文件变成静态图片
https://pqn.funsun.cn/test-20190507183348611.jpg

所以开始对这两个网站进行抓包厕所,然后就可以识别出二维码做后续的操作

下面是相应的代码:

import requests

# 在线解码器
url1 = "https://pqn.funsun.cn/test-20190507183348611.jpg"
url = "http://jiema.wwei.cn/url-jiema.html"
req_data = {
    "jiema_url": url1,
    "token": "123"
}
response = requests.post(url, data=req_data)
print(response.status_code)
print(response.json())
# 输出结果
# 200
# {'is_url': 1, 'msg': 'success', 'status': 1, 'data': 'http://weixin.qq.com/r/a3UyKqTEp-nYreBJ9yB5'}

# 草料二维码
url_cli = "https://cli.im/Api/Browser/deqr"
req_data = {
    "data": url1
}
response = requests.post(url_cli, data=req_data)
print(response.json())
# 正常能识别输出结果
# {'status': 1, 'data': {'new_version': False, 'RawData': 'http://weixin.qq.com/r/XjuosCzE3HGjrWjT925M', 'new_descr': "草料二维码已经更新,请升级!"}}
# 未能识别输出结果
# {'status': 0, 'data': {'new_version': False, 'new_descr': "草料二维码已经更新,请升级!", 'info': '我们已经很努力扫描了你的二维码但目前暂时无法识别,抱歉!'}}

你可能感兴趣的:(Python)