20213127谢小云《Python程序设计》实验四报告

课程:《Python程序设计》
班级: 2131
姓名: 谢小云
学号:20213127
实验教师:王志强
实验日期:2022年5月29日
必修/选修: 公选课

一、实验要求

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

二. 实验内容

用爬虫爬取疫情实时地图,做可视化展示并在华为云上运行。

三. 实验过程及结果

实验分析:

(1)灵感来源:由于目前国内疫情防控形势严峻,便想到用爬虫爬取疫情实时地图,为疫情防控助力。

(1)实验设计:

  1.获取网站url和user – agent,安装并利用requests模块爬取数据,爬取的数据转为csv格式,并利用正则表达式获取想要的数据。

  2.安装pyecharts和pandas模块,通过pyecharts和pandas模块功能实现可视化。pyecharts调用地图,pandas将爬取数据注入地图中。

 

 

(3)实验过程:

1.获取url,打开疫情实时地图网址,F12,打开network,刷新网址,找图中所有的内容,该网址为get请求,用url级requests发送请求

 

 

2.user-agent为请求标头

 

 

3.代码

 

 

4.将爬取的数据放入data.csv文件通过excle打开

 

 

5.调用pyecharts和pandas模块将数据转化为html文件并进行可视化

打开html文件并与疫情实时地图对比

完成数据可视化,通过对比可以发现用python可视化后的地图颜色要比原网站地图丰富。

 

 

6.将爬虫.py文件在华为云服务器上运行

运行成功。

 

 

四.遇到的问题及解决办法

1.csv模块无法正常安装

 

 

原因:pip与csv模块版本不匹配

解决方法:在csdn找到升级pip方法升级后安装csv模块(下图为已升级后的pip)

 

 

2.运行代码时报错:invalid mode(无效格式)

解决办法:将“mode = as”改为“a"

成功运行。

五.本学期所学内容

  • 变量赋值
  • 运算符及其优先级
  • 基本数据类型
  • 循环语句
  • 列表、元组、字典、集合
  • 字符串与正则表达式
  • 函数
  • 面向对象程序设计
  • 文件操作及异常处理
  • Python操作数据库
  • Python爬虫

六.课程感悟

      首先表达对王志强老师的感谢,让我从一位编程小白成长为可以爬虫的小白。也是王志强老师的教导,让我真正领悟了python作为一门编程语言的独特魅力,致谢。

      令我印象深刻的是在我近乎幼稚的问题下,王老师也能细心解答,给了我学习这门语言莫大的信心。同时python比起其他语言语法要求没有那么严格,这也非常符合我的性格,虽然很遗憾这门选修课只有短短一学期,但人生苦短,我用python。我相信在以后的日子里我也能继续学习python争取成为一名合格的程序员。

      以上就是这学期我对python的直观感受,感谢老师悉心指导,同时我也将老师送给我们的话送给老师:

      三生有幸,与君相识于富丰路7号。才疏学浅,劳烦恩师多日。

      愿君:

                             前程似锦,功不唐捐,玉汝于成!

 

七.对课程的建议

·感觉对于平时实验参与度不高,可以将华为云服务器在开课时就运用到python中来,提高对华为云的掌握度。老师讲课风格幽默,可以继续保持嗷!

 

posted @ 2022-05-29 10:19  神的达尔文  阅读(62)  评论(0编辑  收藏  举报