美文网首页
python监控疫情

python监控疫情

作者: 阿飞666666 | 来源:发表于2020-03-01 15:18 被阅读0次

        2019年新冠状病毒入侵武汉,给中国人民带来巨大的灾难,面对灾难,每一个中国人很关心疫情的发展情况,下面根据python写了一个实时监控疫情的代码,定时给微信发疫情的最新信息,接口分两个模块,分别为:获取疫情实时信息和将获取的信息发送给微信好友

    (一)下面是获取疫情实时信息的代码

    import requestsas r

    import datetime

    import time

    def yiqing_date():

    url ="https://service-f9fjwngp-1252021671.bj.apigw.tencentcs.com/release/pneumonia"

        content = r.get(url)# 请求访问的接口

        try:

    json_content = content.json()['data']# 解析json

            update_timestamp = json_content['statistics']['modifyTime']# 获取更新时间的时间戳

            date = datetime.datetime.fromtimestamp(update_timestamp /1000)# 将时间戳转化为时间格式

            dateArray = date.strptime("%Y-%m-%d %H:%M:%S")# 确定时间格式,将时间格式转为为字符串格式time

            total_comfired = json_content['statistics']['confirmedCount']# 获取接口中确诊病例数据

            total_suspected = json_content['statistics']['suspectedCount']# 获取接口中疑是病例数据

            total_cured = json_content['statistics']['curedCount']# 获取接口中治愈病例数据

            total_date = json_content['statistics']['deadCount']# 获取接口中死亡病例数据

            response_str ="""

    今日疫情汇报

    全国确诊病例累计:%s例

    全国疑似病例累计:%s例

    全国死亡病例累计:%s例

    全国治愈出院病例累计:%s例

    更新时间:%s

            """ % (total_comfired, total_suspected, total_cured, total_date, dateArray)# 将信息组合或字符串,将以这种格式发送

            print(response_str)# 返回该字符串

        except:

    return '有异常,请查看'

    (二)下面是将获取的信息发送给微信好友的代码

    import itchat

    from apscheduler.schedulers.blockingimport BlockingScheduler

    from yiqing_spiderimport yiqing_date

    def send_news():

    myFirend = itchat.search_friends(name=u"卢华")# 在微信好友列表中搜索呢称为"卢华"的用户

        message = yiqing_date()# 获取疫情实时情况信息发送给该用户名

    # print(message)

        name = myFirend[0]["UserName"]# 获取昵称为"卢华"用户的微信用户名

        itchat.send(message,toUserName=name)#将疫情实时情况信息发送给该用户

    if __name__ =='__main__':

    itchat.auto_login(hotReload=True)#登陆微信,登陆时它会将提示的二维码,hotReload参数表示保持微信登陆

        scheduler = BlockingScheduler()#实例化调度器

        scheduler.add_job(send_news, 'interval', seconds=3600)#添加调度任务,并将调度模式设置时间格式,每一个小时发送一次

        scheduler.start()# 调度器工作开始

    (二).在python中我们需要下载的模块分别为:itchat,apscheduler,requests 通过命令pip install xxx 模块名就可以了

    itchat:微信的第三方库

    apscheduler:设定定时任务的第三方库

    requests :接口测试第三方库

    (三)代码分析

    通过requests库请求疫情实时数据接口,获取接口数据,对接口数据进行json解析,获取更新时间并转换时间格式,获取我们所想获得的数据,对数据进行字符串拼接,并返回该字符串,目前只获取了全国确诊病例、疑似病例、死亡病例、治愈病例和更新时间这几个字段,当然接口中还有很多其他的信息同样可以很简便的获取,如较昨日所增加的病例,如某个地区的详细疫情情况等都可以很方便的获取,在这就留给同学们去扩展自己想要关注的疫情内容了,然后通过itchat实现微信登录,然后通过apscheduler实现任务的调度,该任务就是send_news()方法,最后只需要运行py_wechat.py这个文件,就可以轻松的在微信中接受消息啦,比如小编想每隔一小时就给”卢华”通知一次疫情的实时情况,并且这条消息会每个小时都发送一次,而且每次发送的都是最新的消息。

    相关文章

      网友评论

          本文标题:python监控疫情

          本文链接:https://www.haomeiwen.com/subject/pcgqkhtx.html