https://github.com/piqigoo/032002237
一、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
· Estimate | · 估计这个任务需要多少时间 | 666 | 1440 |
Development | 开发 | 60 | 70 |
· Analysis | · 需求分析 (包括学习新技术) | 300 | 400 |
· Design Spec | · 生成设计文档 | 20 | 25 |
· Design Review | · 设计复审 | 20 | 25 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 35 |
· Design | · 具体设计 | 30 | 40 |
· Coding | · 具体编码 | 30 | 40 |
· Code Review | · 代码复审 | 10 | 10 |
· Test | · 测试(自我测试,修改代码,提交修改) | 50 | 70 |
Reporting | 报告 | 40 | 45 |
· Test Repor | · 测试报告 | 10 | 10 |
· Size Measurement | · 计算工作量 | 20 | 23 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 30 |
— | · 合计 | 1336 | 2303 |
二、任务要求的实现
(2.1)项目设计与技术栈。从阅读完题目到完成作业,这一次的任务被你拆分成了几个环节?你分别通过什么渠道、使用什么方式方法完成了各个环节?列出你完成本次任务所使用的技术栈。
总共拆分成了3个环节,分别是数据爬取,导入表格以及数据可视化。
分别通过B站,百度,csdn,博客园完成了各个环节。
技术栈:Python+pyecharts
(2.2)爬虫与数据处理。说明业务逻辑,简述代码的设计过程(例如可介绍有几个类,几个函数,他们之间的关系),并对关键的函数或算法进行说明。
数据爬取使用的是requests库,大体分成发送请求,获取数据,解析数据这三个步骤。其中关键的是解析数据这一部分,用到了正则表达式匹配的相关知识
json_s = re.findall('"component":\[(.*)\],', data_html)[0] #解析数据
json_d =json.loads(json_s) # 类型转换,json字符串转换成python字典
数据导入使用的是xlsxwriter模块,数据可视化使用的是pyecharts工具
(2.3)数据统计接口部分的性能改进。记录在数据统计接口的性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(例如可通过VS 2019/JProfiler的性能分析工具自动生成),并展示你程序中消耗最大的函数。
https://userblink.csdnimg.cn/292cff4a5b2d4525849a23e11add89c8.png
(2.5)数据可视化界面的展示。在博客中介绍数据可视化界面的组件和设计的思路。
https://userblink.csdnimg.cn/67a8d544c8e64677bb23a13d3cd43334.png
数据可视化使用的是Pyecharts工具,可以实现柱状图和折线图的转换。主要思路是从表格中提取数据,设置好x,y轴参数,实现可视化,并加入了滑动模块,主要解决的是数据太多放不下的问题。
另外由于刚开始x轴参数显示不全,故写了一句代码 倾斜x轴。核心代码如下:
bar.set_global_opts(
toolbox_opts=opts.ToolboxOpts(),#允许切换折线/堆叠/柱状
datazoom_opts=[opts.DataZoomOpts()],#柱状图带窗口滑块效果
xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":25})# 倾斜x轴,解决显示不全的问题
)
三、心得体会
本次作业让我深刻意识到自己的不足,大学两年过去了,自己好像什么都不会(ó﹏ò。) 。一开始完全没有头绪啊喂,只是决定了要用Python写,但Python完全零基础,于是接下来的一周就是各个渠道(B站,百度)疯狂学习,每天都在疑惑三连:我是谁?这个代码什么意思?我要怎么办?最后的最后,在deadline的边缘,作业总算磕磕碰碰地完成了。
经过这次作业,我对Python有了大体的了解,当然很多东西都不是很清楚,只是浮于表面,但万事开头难,希望接下来能够顺利一些。
本次作业花费时间较多的还是表格的导入和数据可视化,经过疯狂的百度(感谢度娘(.__.) ),总算————学“废”了。
All in all,我太菜了,得多多学习嗷嗷嗷嗷嗷嗷嗷嗷嗷嗷