20184118 实验四《Python程序设计》实验报告

20184118 2019-2020-2 《Python程序设计》实验四报告

课程:《Python程序设计》
班级: 1841
姓名: 黄晓雨
学号:20184118
实验教师:王志强
实验日期:2020年6月
必修/选修: 公选课

1.实验内容

通过数据爬虫,能够获取每日国外疫情统计数据,并在此基础上生成柱状统计图。

2. 实验过程及结果

(1)分析设计

本次实验为综合实验,需要结合所学进行创造。鉴于本人学习能力和学习水平,我选择了以爬虫和可视化为主要内容的综合实践。鉴于当前国内疫情已经得到控制,而国外疫情并未得到有效控制的局面,选择制作国外的疫情的数据爬虫与简单可视化视图。能够得到的基本信息有:新增人数,累计人数,死亡人数,治愈人数。

(2)代码编写

1.创建demo文件-用以生成基础的爬虫数据

1.进行必要库的下载安装
载入requests库
re正则表达式
xlwt 写入Excel库
os库用于写入文件目录
json 字符串转字典
time库 格式化时间

2.找寻可爬取数据网站,分析网页的网络数据,取得请求头,并用python的requests包进行解析和读取。
3.为了防止被反爬虫,创建了头部信息。
20184118 实验四《Python程序设计》实验报告_第1张图片
4.进行字符类型的转换,如将数据类型转换为时间序列,方便后续操作。
5.之后是创建csv(excel表格)文件,并将爬取的信息进行进行数据写入。
20184118 实验四《Python程序设计》实验报告_第2张图片

(2)创建chart文件-用以生成柱状图表

1.进行必要库的下载安装
载入pyecharts库,方便图表的创建,设置统计图数目。考虑到个人能力以及生成图的美观程度本实验选取新增人数前十的国家进行正序柱状图。
2.按照地区提取数据,汇总统计逻辑,由于数据获取在创造demo文件时已经写明,此处不再赘述。
3.使用pyechart绘制柱状图,按照新增人数进行排序。

(3)检查结果

1.经检查,实验结果能够完成每日的疫情数据爬取,并能够生成新增人数柱状视图。
20184118 实验四《Python程序设计》实验报告_第3张图片

(4)将代码托管到码云。

3. 实验过程中遇到的问题和解决过程

  • 问题1:对于综合实验没有把握
  • 解决方法:上网查找契合本人现有学习水平的博客帖子进行学习
  • 问题2:设计报头
  • 解决方法:通过查找论坛帖子完成报头设计
  • 问题3:时间序列
  • 解决方法:首先通过学习明白时间序列的,并进行实际操作

其他(感悟、思考等)

本次实验作为最后的综合实验,这篇实验报告的总结也是全课的总结。本次实验中,我综合运用了之前学过的很多知识,如格式化、各类语句、正则表达、面向对象程序设计等等,同时在实验中也学习到了Python的爬虫知识,做到了学以致用。作为一名行政管理的学生,我学习到了本专业专业课上学习不到的许多新知识,并且实现了自我创造,不但收获了知识,也收获了满足感。
本学期的课程中,我从认识Python开始,一步一步从学习字符类型、循环条件语句走来,如今我已经能够编写一个小的爬虫软件,虽然功能说不上强大,界面也算不上美观,但是对于我本人的来说,我认为我还是收获很大的。本课给我最大的体会就是——实践出真知,每次作业我都会遇上或多或少的难题,但是每次都能够得到解决,在解决问题中收获很多新知识。同时,在这一个学期的学习中,我深刻了解到学习习惯与学习态度的重要性,前者在本课中主要体现在每次作业的完成时限中,后者主要体现在每次作业的内容中。
其次对于本课建议,我个人认为本学期的学校效果和教学方式可能不具有参考性,因为疫情的影响不但影响了教学也影响了一定的考核与学习。所以我现在的建议也是基于本学期的实际情况来说的。我认为在教学上可以采用小组模式,互相提醒,我个人体感同学之间基础差距较大,但是很多时候问问题碍于面子不便问出口,如果建立小组模式,或许能够推动学习效率提高。
最后,十分感谢王志强老师大半个学期以来的教导,线上教学的方式没有阻止大家的学习热情,每次在群里问问题,总能得到同学的热心解答。老师每节课都会自己制作讲义、上传自学视频、设计布置作业、为大家答疑解惑,并且助教也十分负责,每次都要批改百人作业。
在本学期的学习中,我获益匪浅,未来希望自己能够更加深入学习计算机编程,成为文理兼长的一名电科院学子。

参考资料

  • Python爬虫入门教程
  • 用Python爬取最新疫情数据
  • 使用Python进行疫情数据爬取

你可能感兴趣的:(20184118 实验四《Python程序设计》实验报告)