三滑稽甲苯 发表于 2020-2-14 17:03

实时查询肺炎数据(python3)

本帖最后由 三滑稽甲苯 于 2020-2-14 17:24 编辑

数据来源:丁香医生
使用了requests以及PrettyTable库from requests import get
from time import localtime
from prettytable import PrettyTable
def add_0(n):
    if n: return str(n)
    else: return '0'
def color(m):
    return(f'\033[34;m{m}\033[0m')
def time(tick):
    def f(x):
      if x<10:
            return '0'+str(x)
      else:
            return x
    days='Mon','Tues','Wednes','Thurs','Fri','Satur','Sun'
    y,m,d,h,mi,s,w=localtime(tick)
    return color(f'{y}/{f(m)}/{f(d)} {days}day {f(h)}:{f(mi)}:{f(s)}')
data = get('https://service-f9fjwngp-1252021671.bj.apigw.tencentcs.com/release/pneumonia').json()['data']
print('国内更新时间:', time(data['statistics']['modifyTime']/1000))
wanted = ['confirmed', 'cured', 'dead']
provinces = set()

#国内
tb = PrettyTable()
tb.field_names = ["省份", "确诊", "治愈", "死亡"]
for province in data['listByArea']:
    provinces.add(province['provinceShortName'])
    tb.add_row(]+) for attr in wanted])
tb.add_row(+)) for attr in wanted])
tb.add_row(+)) for attr in wanted])
print(tb)

while True:
    q = input('详细信息:(xx省份/外国)')
    if q == '外国':
      #外国
      tb = PrettyTable()
      tb.field_names = ["国家", "确诊", "治愈", "死亡"]
      for country in data['listByOther']:
            tb.add_row(]+) for attr in wanted])
      print(tb)
    elif q in provinces:
      #城市
      tb = PrettyTable()
      tb.field_names = ["城市", "确诊", "治愈", "死亡"]
      for province in data['listByArea']:
            if province['provinceShortName'] == q: areas = province['cities']; break
      for area in areas:
            tb.add_row( for attr in ['cityName']+wanted])
      tb.add_row(+)) for attr in wanted])
      print(tb)
    else: break

Andrea 发表于 2020-2-14 20:18

Kok丶Ronin 发表于 2020-2-14 19:08
楼主你好,我复制代码后出现这个问题怎么办

我运行别的也是一样 ,有没有解决办法或者技巧

报错提示很清楚了,你缺模块,你要安装一下
pip installrequests

三滑稽甲苯 发表于 2020-2-18 20:24

stefaniema 发表于 2020-2-17 21:40
楼主,这个URL好像不支持电脑浏览器爬取,手机端不知道可不可以

现在这个地址好像不能用了

wizll7865 发表于 2020-2-14 18:21

你好楼主能给个成品的下载链接吗?

ltg6688 发表于 2020-2-14 18:46

这个能实时更新吗?

Kok丶Ronin 发表于 2020-2-14 19:08

楼主你好,我复制代码后出现这个问题怎么办

我运行别的也是一样 ,有没有解决办法或者技巧

二诗的Adidas 发表于 2020-2-14 20:11

这个可以实时更新吗?

Sagitar2009 发表于 2020-2-14 20:22

能不能实时更新?前几天在WX看得我很激动

三滑稽甲苯 发表于 2020-2-15 09:50

wizll7865 发表于 2020-2-14 18:21
你好楼主能给个成品的下载链接吗?

复制代码就行了啊

三滑稽甲苯 发表于 2020-2-15 09:51

Sagitar2009 发表于 2020-2-14 20:22
能不能实时更新?前几天在WX看得我很激动

重新运行代码即可

三滑稽甲苯 发表于 2020-2-15 09:59

本项目Github地址:https://github.com/PRO-2684/py-script-collection/blob/master/%E8%82%BA%E7%82%8E.py
页: [1] 2
查看完整版本: 实时查询肺炎数据(python3)