先贴代码
from requests import get
from os import getcwd
from time import localtime
from time import sleep
def Get_ORCode(url,size=250):
url = "https://api.qrserver.com/v1/create-qr-code/?size={1}x{1}&data={0}".format(url,size)
res0=get(url).content
return res0
if __name__ == '__main__':
url=input("请输入网址:")
name=str(localtime()[:-6])[1:-1].replace(",","-")
with open(r"{0}{1}.png".format(getcwd(),name),"wb") as file:
file.write(Get_ORCode(url))
依旧是令人眼花
所需模块:
request的get (用于发出网络请求)
os的getcwd (在保存图片时获取当前路径)【可选】
time的localtime (保存图片的日期) 【可选】
time的sleep (用于控制台延时退出) 【可选】
实现原理:
1.利用request发送网络请求
2.得到图片并保存
第一步:导入模块
第二步:访问接口
这里写一个函数:
def Get_ORCode(url,size=250):
url:是指定链接
size:图片大小(不是指二维码有多大),最大为250
接着在函数里访问接口
url = "https://api.qrserver.com/v1/create-qr-code/?size={1}x{1}&data={0}".format(url,size)
res0=get(url).content
return res0
这一步是往url里面传递指定参数,发出请求并读取,然后返回图片的二进制码
api参数:
size:同前面函数的参数,不过长和宽是一致的,就算写的不一致,返回的也是正方形
data:url放进来就可以了
第三步:保存
写一个以主程序的方式运行:
if __name__ == '__main__':
首先得给图片取名:
name=str(localtime()[:-6])[1:-1].replace(",","-")
其实就是获取当前时间,去除其他数据,只留下年月日,转成字符串,去除首尾括号,将逗号替换成短横
. 接着打开一个图片文件
with open(r"{0}{1}.png".format(getcwd(),name),"wb") as file:
file.write(Get_ORCode(url))
这里就是获取当前路径,加上刚刚的时间(名字),然后写入请求的数据
到这里就大功告成了
如果需要通过控制台展示一些信息,就加上这个
print("Successfully generated")
print(getcwd()+"\"+name+".png")
sleep(100)
输出成功获取,输出图片路径
让线程挂起一百秒,也就是阻止程序结束,因为程序结束,控制台就自动关了,就看不到什么了,所以应该停留
好了
贴下控制台版本的代码
from requests import get
from os import getcwd
from time import localtime
from time import sleep
def Get_ORCode(url,size=250):
url = "https://api.qrserver.com/v1/create-qr-code/?size={1}x{1}&data={0}".format(url,size)
res0=get(url).content
return res0
if __name__ == '__main__':
url=input("请输入网址:")
name=str(localtime()[:-6])[1:-1].replace(",","-")
with open(r"{0}{1}.png".format(getcwd(),name),"wb") as file:
file.write(Get_ORCode(url))
print("Successfully generated")
print(getcwd()+"\"+name+".png")
sleep(100)
效果:



