吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1939|回复: 14
收起左侧

[Python 原创] 实时查询肺炎数据(python3)

[复制链接]
三滑稽甲苯 发表于 2020-2-14 17:03
本帖最后由 三滑稽甲苯 于 2020-2-14 17:24 编辑

数据来源:丁香医生
使用了requests以及PrettyTable库
[Python] 纯文本查看 复制代码
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)[0:7]
    return color(f'{y}/{f(m)}/{f(d)} {days[w]}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([province['provinceShortName']]+[add_0(province[attr]) for attr in wanted])
tb.add_row([color('总计')]+[color(add_0(data['statistics'][attr+'Count'])) for attr in wanted])
tb.add_row([color('增量')]+[color(add_0(data['statistics'][attr+'Incr'])) 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([country['name']]+[add_0(country[attr]) 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([area[attr] for attr in ['cityName']+wanted])
        tb.add_row([color(q)]+[color(add_0(province[attr])) for attr in wanted])
        print(tb)
    else: break

效果图-外国数据

效果图-外国数据

效果图-各省详情

效果图-各省详情

效果图-全国概况

效果图-全国概况

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Copperfield + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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

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

报错提示很清楚了,你缺模块,你要安装一下
pip install  requests
 楼主| 三滑稽甲苯 发表于 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
楼主你好,我复制代码后出现这个问题怎么办
QQ浏览器截图20200214191051.png
我运行别的也是一样 ,有没有解决办法或者技巧
二诗的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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 22:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表