python获取实时疫情信息

python获取实时疫情信息,第1张

概述目录一、实验目的二、实验环境三、实验准备数据来源接口数据分析requests模块安装四、实验设计程序源码-python实现五、实验结果实验目的了解并掌握网络爬虫的基本原理,并动手实现动态获取全国新型冠状病毒疫情现状。实验环境windows10Pycharm202

目录

一、 实验目的

二、 实验环境

三、 实验准备

数据来源

接口数据分析

requests模块安装

四、 实验设计

程序源码-python实现

五、 实验结果


实验目的

了解并掌握网络爬虫的基本原理,并动手实现动态获取全国新型冠状病毒疫情现状。

实验环境

windows 10

Pycharm 2020.1

python 3.7

实验准备数据来源

打开浏览器访问腾讯新闻疫情大数据展示页面https://news.qq.com/zt2020/page/feiyan.htm#/global

打开Chrome开发者工具,可以看到该页面打印了疫情数据

通过进一步查看network请求可知,实际数据接口为

https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5

接口数据分析

首先将上文中的接口页面另存为(Ctrl+S)
getonsInfo.Json文件,使用编辑器notepad++打开,通过查找替换功能将文件中多余的’\’号去除,并删除
data:”{}” 字段中花括号两边的引号。 接着使用插件JsON
VIEwer(自行安装)格式化该文件,最后可得到如下图所示的可读文件:


可以很清楚的看到,该Json数据以树形的方式展示了国家-身份-城市各个范围内的疫情数据,而我们需要的数据则位于
total和today字段下

在today中展示了按天范围内的疫情数据, total中则包含了疫情出现以来的总数据。

requests模块安装

使用python实现爬虫程序之前,需要安装必要的模块

如果安装了Anaconda,requests就已经可用了。否则,需要在命令行下通过pip安装:

python -m pip install requests

实验设计程序源码-python实现
import csvimport Jsonimport requeststodayKey = 'today'totalKey = 'total'confirmKey = 'confirm'NowConfirmKey = 'NowConfirm'nameKey = 'name'childrenKey = 'children'Excelname = '疫情日报.csv'  # 数据保存文件# 腾讯实时疫情接口API接口API = 'https://vIEw.inews.qq.com/g2/getonsInfo?name=disease_h5'# 运行后会在同目录下生成一个 疫情日报.csv文件if __name__ == '__main__':    datas = Json.loads(requests.get(url=API).Json()['data'])    with open(Excelname, 'w', enCoding='utf-8', newline='') as csvfile:        writer = csv.writer(csvfile)        dataLog = '更新时间:' + datas['lastUpdateTime']        writer.writerow([dataLog])        for contry in datas['areaTree']:            if contry[nameKey] == '中国':                for province in contry[childrenKey]:                    provincename = str(province[nameKey])                    newConfirm = str(province[todayKey][confirmKey])                    NowConfirm = str(province[totalKey][NowConfirmKey])                    writer.writerow([str('\t' + provincename + ' 新增确诊: '                                         + newConfirm + ', 现有确诊:' + NowConfirm)])                    for city in province[childrenKey]:                        newConfirm = str(city[todayKey][confirmKey])                        NowConfirm = str(city[totalKey][NowConfirmKey])                        cityname = city[nameKey]                        writer.writerow([str('\t\t' + cityname + ' \t\t新增确诊:' + newConfirm                                             + ',\t现有确诊:' + NowConfirm)])
实验结果

程序运行后,会将获取到的疫情数据保存在同级目录下的疫情日报.csv文件中,使用记事本打开:(部分内容)

总结

以上是内存溢出为你收集整理的python获取实时疫情信息全部内容,希望文章能够帮你解决python获取实时疫情信息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1187106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存