在这个疫情肆虐的大环境下,每个人为了保护自己的安全,维护大家的安全,都有一套熟悉的操作,打开某app,然后上传自己的报告,之后再由人工来进行一个一个的核查,这浪费的时间可以说是很多的。但这件事情到了复旦大学信息科学与工程学院博士生李小康的手中就不一样了,他是一名辅导员,他每天的日常工作之一就是核查大家的报告。但日复一日的工作让他产生了其它想法,他开发出一项小程序,几分钟就能快速核查数百人的核酸并完成截图,大大提高了核查效率和精度。
据说当时李小康确定了“OCR文字识别+正则表达式筛选”的程序思路。3月15日晚,他花了一个多小时就写出了初始代码,共130行,发现确实能够跑通,且运行效率很高。截至目前,这个程序已经使用了两周,没有出现什么大问题。
这无疑是给现在的工作提供了一项很方便的技术,那究竟可以解决哪些问题呢?
大大减少了在核查上浪费的人力物力,可以将节省的人力去干更多的事情。一个老师差不多要看800张截图,原来要几个人核对一个多小时,现在只需等2分钟就拿到结果。 可以减少出错率,古话说的好,是人总是会犯错的,可是用了这个软件就会减少很多出错率。 这项程序只是在这个学校予以通行,再过段时间,也许全国各地都会通用,到时候将带来更多的便利。 同时这也体现了人们在运用自己知识的能力。人类正在慢慢与疫情作斗争。不管怎么说,这位辅导员研究出来的这项技术都是非常好的,但总有人说自己也可以制作出,只是自己没有遇到这种情况。大家可以来谈谈自己的看法。
import requestsfrom bs4 import BeautifulSoup
import re
import json
# 1.发送请求,获取疫情首页(数据来源于丁香园)
response = requests.get('https://ncov.dxy.cn/ncovh5/view/pneumonia')
home_page = response.content.decode()
# 2.从疫情首页提取最近一日数据
soup = BeautifulSoup(home_page, 'lxml')
script = soup.find(id='getAreaStat')
text = script.string
# 3.提取数据获取json格式数据
json_str = re.findall(r'\[.+\]', text)[0]
# 4.把json格式转换为python类型
last_day_corona_virus = json.loads(json_str)
# 5.以json格式保存最近一日数据
with open('data/last_day_coronavirus.json', 'w') as fp:
json.dump(last_day_corona_virus, fp, ensure_ascii=False)