查看原文
其他

最新疫情数据报告已到达你的邮箱!

程序人生 2020-02-17

The following article comes from 数据管道 Author 宝器&fyq

作者 | 宝器&fyq
来源 | 数据管道(ID:adc9556)

2020年“地狱”难度的开局,属实一下子还没反应过来事情就发生了。截止到2月3日,新型冠状病毒肺炎累计确诊的人数达17205例,广大被“禁足”的网友们在这个春节里时刻心系着病毒的传播范围,短短数日,却蔓延迅速,全国染红。

一边是不断增长的确诊人数,而另一边是各种刷新三观的新闻爆出,让大家的心情跟坐过山车一样。

你可能已经看过各种“真相”:

疾控中心早已知道“人传人”,但却刻意隐...

国家院士早发表论文“人传人”,而你却浑然不....

双黄连对新型冠性....抑制

武汉某会钱“用不出去”

非典专家认为SARS Cov是非自然方式产生

此外,封城越久,寄情于网络越深,然而疫情消息满天飞,更有些不实言论,看多了徒增焦虑。且这届中老年组实在太难带了。

为避免他们过度恐慌或掉以轻心,同时小试下修炼已久的Python降龙十八掌,基于这两方面考虑想到一个体面又不失优雅的办法:

拿上Python花2小时写了采集、分析、并定点推送官方数据的代码,每天定时推送官方数据和亲友身边城市的疫情实时数据分布图,让大家理性关注、科学防范,做好疫情的自我防护。

先来个效果图:

这个idea拆解为三个部分:

1、数据获取

2、数据处理

3、数据推送


数据获取


目前新浪、腾讯以及人民日报&丁香园联手等单位都推出了疫情地图,有人民日报在,那必须最权威了。锁定主要从该网站取数据后,通过网页工具可发现用get请求便可取到数据了。好消息是有的同志预见了类似我这样群众跃跃欲试的热情,遂公开了API接口。

请求接口:/nCoV/api/area

请求方式:GET

返回数据如下:

采用API接口的源码如下:

这里也贴上最初无API情况下的尝试:


数据处理


包括数据清洗和图表制作两大部分。

数据清洗:读取到的数据类型为由dict组成的list数据。由于要详细分析省内各地市情况所以将各省的cities内的数据读取出进行分析,可以在这里将各省确诊案例或疑似案例排名前5的城市及详情列出。

图表制作:可采用Pyecharts和matplotlib两种方式生成图表。

用pyecharts画同心圆饼图:

(限于篇幅,以湖北、广东省为例图)

用matplotlib画趋势图或地图:


数据推送


本工具采用SMTP邮箱服务器进行信息推动。SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

本案例的发送邮件模块源码如下:

踩坑提醒!

这款API大概有以下3种使用方法:

1. /nCoV/api/area?latest=1&province=湖北省返回湖北省疫情最新数据

2. /nCoV/api/area?latest=0&province=湖北省返回湖北省疫情的时间序列数据

3. /nCoV/api/area?latest=1返回中国全部城市及世界其他国家疫情最新数据

建议尽量采用第2种,latest=0读时序数据的方式。不要问为啥,因为我也很绝望,用latest=1偶尔读不到数据,不信看下面这个31日早上调用结果的截图,差点还以为复活了。毕竟数据是很严肃的事,容不得半点虚。

总结:

疫情信息流爆炸,看了徒增焦虑,技术服务生活,有需求的地方就有idea。写了个爬虫定期推送官方数据给亲友们,如有需求可告知邮箱地址及希望收到推送时间 。

热 文 推 荐 

远程办公的 33 种预测

IT 安防生意不好做,我被赶出了电子卖场

寻找中国半导体

科技驰援背后:技术没有假期!

“抗击”新型肺炎!阿里达摩院研发AI算法,半小时完成疑似病例基因分析


阿里腾讯华为在行动!程序员远程办公究竟用哪个视频会议好?

世界上最大的色情网站Pornhub,现接受用Tether对模特进行付款

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存