软工K班个人编程作业
作业进度
9月10日:数据爬取工作完成,爬取内容从2021年今天到2022年今天,测试excel文件只爬取最近24天的数据(卫健委第一页所有链接数据)
9月11日:将数据分类存放到excel表中,已经实现,按照一天所有省份信息为一个文件,和按照不同时间疫情变化为另一个文件
9月12日:学习flask和echarts等web渲染,初步掌握,从网站上寻找出合适的HTML5网页模板和Apache ECharts模板,作为可视化的展示模板。
9月13日:学习excel数据转sqlite数据库文件,一直有bug搞不懂。随后直接使用前几日保存的excel数据作为可视化的数据源。目前以实现excel表中数据成功接入HTML5,并使用flask和boostrap等成功渲染一个大表格,采用斑马线格式和数据高亮等等。
9月15日:通过几天的努力,目前基本的作业已经完成,实现数据的爬取分析可视化,除了用到的python库函数以外,还有主程序Corona_Virus_Spider.py文件,py生成的excel文件,控制web服务端生成的app.py文件,HTML5网页(可视化界面),以及网页用到的js,css和素材图片。程序采用python爬取和分析数据,存储数据到excel文件,用flask的web框架实现Werkzeug路由转发和Jinja2模板渲染,构建网页,使用Echarts做图表可视化。最终以比较简单的方式实现了目标。至此,软工K班个人编程作业大体完成。
9月16日:进行整体的定稿,后面的更新就要看灵感了。 上传的部分为程序主体,即py程序主体,static静态文件下的js,css,png素材,和templates下的HTML静态网站。 整个flask框架我放在zip压缩包里,即目录下的所有文件。 推荐使用pycharm导入使用,因为flask框架就是在这里新建的。 requirements.txt里列出了所需要的库和一些说明,而压缩包里的文件包含了库,所以文件比较大。
9月17日:最后又加了一些东西 主要在GetDataFromExcel类里增加了分析和获取热点的函数方法,并返回给flask。一个极其简单的数据处理,将设定的日期内的数据差值最大的找出来。数据分析这部分我能力很弱,更好的方法还有待学习。在flask里我只选取了7天内热点和30天内热点,作为网站效果展示。 想提醒一点是,这个网站需要建立flask服务器,网页的内容是用flask渲染的。 单元测试我不太懂里面的原理。我习惯性地写完一段代码后测试一下,并没有记录测试的数据和过程。所以说这部分内容我没做好,应该在刚开始的时候就及时地做出单元测试的记录工作。
9月18日:对代码进行了一部分优化更新,对各省疫情页面的图表做了修复(图例显示问题)。其次,echarts的动态图在主页会出现option内容兼并现象,目前无法处理掉港澳台饼图最开始不显示的问题,饼图需要鼠标移动到折线图上才会显示对应日期的信息,这个bug到现在还无法修复,没做到第一眼的视觉体验,正在努力学习中。 其他的小细节就不多说了,大致更新就这样。可联系QQ:1719446064。
9月18日,过1小时后再次修改,刚刚突然想起来低耦合这件事,然后把开关优化了一下,把excel名字重新放到corona_virus_spider.py里,flask服务器开关由os打开文件函数换成了run_app调用函数,这样就不需要os库了,而且开关简洁明了。