人:取代人工,自动爬取疫情数据
疫情肆虐的今天,很多人每天起来的第一件事情就是去查看当天的疫情数据。其实很多大型门户网站和手机应用都开设了专门的疫情实时追踪数据网站和功能。作为码农的我们能不能把这些数据自动下载下来,进行数据统计和分析,通过数据发现不一样的洞察。今天我们就以腾讯为例来获取疫情实时数据把,废话不说,上代码:
import requests, json
import openpyxl
province = [] # 省区
city = [] # 城市
dead = [] # 死亡人数
confirm = [] # 确诊人数
heal = [] # 治愈人数
cwy_confirm = [] # 今日新增确诊
def getHTMLText(url): # 定义了一个函数,用于获取html的文本。
try:
r = requests.get(url, timeout=30)
r.raise_for_status() # 如果状态不是200,引发HTTPError异常。
r.encoding = r.apparent_encoding # 从内容中分析,修正代码的编码方式。
return r.text
except:
return "产生异常"
# 获取数据的地址
url = "https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
data = json.loads(getHTMLText(url))
data_total = json.loads(data["data"])
Total = data_total["chinaTotal"]
ChinaAdd = data_total["chinaAdd"]
print("【全国疫情累计数据】确诊{}人,疑似{}人,死亡{}人,治愈{}人。".format(Total['confirm'], Total['suspect'], Total['dead'], Total['heal']))
print("【全国疫情新增数据】确诊新增{}人,疑似新增{}人,死亡新增{}人,治愈新增{}人。".format(ChinaAdd['confirm'], ChinaAdd['suspect'], ChinaAdd['dead'],
ChinaAdd['heal']))
print("【数据更新时间:】", data_total["lastUpdateTime"])
data_total_children = data_total["areaTree"][0]["children"]
for p in range(0, len(data_total_children)):
for c in range(0, len(data_total_children[p]["children"])):
details_city = data_total_children[p]["children"][c]
province.append(data_total_children[p]["name"]) # 所有的省份生成一个list。
city.append(details_city["name"])
confirm.append(details_city['total']['confirm'])
dead.append(details_city['total']['dead'])
heal.append(details_city['total']['heal'])
cwy_confirm.append(details_city['today']['confirm'])
wb = openpyxl.Workbook()
ws = wb.active
print(wb.get_sheet_names)
ws.cell(1, 2, value="省份")
ws.cell(1, 3, value="城市")
ws.cell(1, 4, value="确诊人数")
ws.cell(1, 5, value="治愈人数")
ws.cell(1, 6, value="死亡人数")
ws.cell(1, 7, value="确诊新增")
for n in range(0, len(city)):
ws.cell(n + 2, 2, value=province[n])
ws.cell(n + 2, 3, value=city[n])
ws.cell(n + 2, 4, value=confirm[n])
ws.cell(n + 2, 5, value=heal[n])
ws.cell(n + 2, 6, value=dead[n])
ws.cell(n + 2, 7, value=cwy_confirm[n])
wb.save('yiqing.xlsx')
只需要把代码复制,就可以获取当前全国各省市区的疫情信息,数据默认保存在代码同目录,并且保存的格式为常见的xlsx格式,当然我们也可以选择csv格式,代码获取结果如下。
工:疫情有为 工业可期
工业机器人的自我诊断与修复
比如一条生产线突然发出故障报警,机器能够自己进行诊断,找到哪里产生了问题,原因是什么,同时还能够根据历史维护的记录或者维护标准,告诉我们如何解决故障,甚至让机器自己解决问题、自我恢复。
创新、优化沟通、提高绩效
罗克韦尔在2017年底投资了一家名为TheHive的硅谷创新基金与共创工作室,借力由创新群体与高科技初创公司组成的生态环境,致力于将人工智能(AI)应用于工业自动化领域。罗克韦尔自动化此举的目的包括通过共创解决客户问题、加速创新和发掘新兴技术,帮助制造业客户消除工厂基层和更高层信息系统之间的屏障,从而提高业务绩效。
智:办公"智"动化,做职场杜拉拉
简单易学,小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,而且语法还很简洁。Python也是很多非IT人士如财务人员必须掌握的装逼利器,例如批量合同文件,就可以采用Python进行快速的读取和处理。
能:数据分析、可视化Py无所不能
数据虽然已下载,但是直接通过xls文件观看难免乏味且可视化不强,对于我们老百姓来说就想知道目前还有哪些城市是重灾区,在Py中可视化的库太多啦。matplotlib、seaborn、pyecharts… 今天给大家介绍一款高逼格称为wordcloud词云图,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息。
# 第三方库大家可以通过pip一键安装即可
C:\Users\57423>pip install wordcloud
词云图在显示时需要一张背景图,大家可以互联网随便找一张图片(背景最好是纯白或者纯黑),轮廓要清楚,这样生成词云图才能知道内容填充在哪里,在本次案例中我们选择了钟南山院士的一张图作为背景。
功能实现非常简单,只需要加载前面获取的数据,然后通过wordcloud设置背景图片的尺寸和中文字体,最后设置生成词云图的保存路径即可。废话不说,上代码。
from imageio import imread # 加载图片
from wordcloud import WordCloud
import pandas as pd
# 加载疫情数据源
data = pd.read_excel("yiqing.xlsx")
# 确定要可视化的列信息
data = data [['城市','确诊人数']]
show = {}
for a, x in data.values:
show[a] = x
# bg.png的图片尺寸:width=600,height=600,
# font_path: 则指定可显示中文字体,否则乱码
# random_state: 如不指定每次生成数据排列随机
# mask: 指定作为遮罩的图片
wc = WordCloud(font_path=r"C:\Windows\Fonts\SimHei.ttf",
width=600,height=600,
background_color="white",
random_state=1,
mask=imread("bg.png"))
wc.generate_from_frequencies(frequencies=show)
# 指定保存词云图路径
wc.to_file("yiqing.png")
疫情的蔓延痛噬着每一位国人的心,现在虽然情况有所缓解。但是国外疫情目前情况不容乐观战疫远未结束,切莫放松!撸技术、做好自我防控就是对家人,对公司,对社会最大的贡献。让我们一起加油!