用Python查询肺炎疫情

懒癌发作了,不写教程了,略略略 ~ ~ ~ 注释自己看吧

import requests,json
from tkinter import *
import base64,os
#获取全球数据
def get_data():
#这里使用腾讯api
api = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
data = requests.get(api)
#要使用utf8不然会中文乱码
data.encoding = 'utf-8'
#需loads两次不知道为什么
data = json.loads(data.text)
data = json.loads(data['data'])["areaTree"]
#print(data)
return data
#通用查询
def analytical_data(地区,data=get_data()):
data2 = 0
#设置temp变量用来省略不需要的循环,提高速度
temp = 0
#先查询国家
#遍历所有国家
for i in data:
if i['name'] == 地区:
#先检测如果temp为"1"直接退出(由于是第一个其实可以去掉)
if temp == 1:
break
#记录为data2
data2 = i
#打印确诊人数
#print('确诊人数:'+str(i["total"]["confirm"])+'人')
#若查询成功将temp标记为"1"
temp = 1
break
#如果查询国家失败查询省份
if temp==0:
#遍历所有省份
for i in data[0]["children"]:
if i['name'] == 地区:
#记录为data2
data2 = i
#打印确诊人数
#print('确诊人数:'+str(i["total"]["confirm"])+'人')
#若查询成功将temp标记为"1"
temp = 1
break
#如果查询国家失败查询城市
if temp==0:
for i in data[0]["children"]:
#遍历所有省份
for j in i["children"]:
#遍历每个省份的全部城市
if j['name'] == 地区:
#若查询成功将temp标记为"1"
temp = 1
#记录为data2
data2 = j
#打印确诊人数
#print('确诊人数:'+ str(j["total"]["confirm"])+'人')
break
#由于双重循环需要退出两次
if temp == 1:
break
#返回data2
return data2
def main():
data = analytical_data(inputbox.get())
t.delete('1.0', 'end')
try:
var = '关于{}的最新疫情信息如下:\n确诊人数:{}\n疑似人数:{}\n治愈人数:{}\n死亡人数:{}\n新增确诊:{}\n由于API问题疑似可能不准\n武汉加油!中国加油!'
var = var.format(inputbox.get(),str(data["total"]["confirm"])+'人',str(data["total"]["suspect"]) + '人',str(data["total"]["heal"])+'人',str(data["total"]["dead"])+'人',str(data["today"]["confirm"])+'人')
except:
var = '未找到地区:'+inputbox.get()
t.insert('end',var)
window = Tk()
window.title('新冠肺炎疫情查询')
window.geometry('375x330')
window.resizable(0,0)
diqu_text = Label(window,text='地区',width=3,height=1,font=('微软雅黑',12))
diqu_text.place(x=50,y=30, anchor='nw')
inputbox = Entry(window,width=10,font=('微软雅黑',16))
inputbox.place(x=110,y=30, anchor='nw')
t = Text(window,height=11,width=35,font=('微软雅黑',10))
t.place(x=40,y=80)
b = Button(window,text='查询',width=6,height=1,font=('微软雅黑',10),command=main)
b.place(x=250,y=29, anchor='nw')
window.mainloop()

终于迁移完了累skr人

版权声明:
作者:啊不都
链接:https://www.oplog.cn/archives/30.html
来源:操作员日志
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>