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

课程:《Python程序设计》
班级: 1922
姓名: 高博文
学号:20192201
实验教师:王志强
实验日期:2022年5月30日
必修/选修: 公选课

1.实验内容

  (一)Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
  (二)实验要求:
  (1)程序能运行,功能丰富。(需求提交源代码,并建议录制程序运行的视频)10分
  (2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理。10分。
  (3)在实践报告中,需要对全课进行总结,并写课程感想体会、意见和建议等。5分
  (4)如果没有使用华为云服务(ECS或者MindSpore均可),本次实践扣10分。

2. 实验过程及结果

2022年5月29日,英雄联盟季中冠军赛在韩国举行,中国俱乐部rng3:2取胜了韩国俱乐部T1,借此,我用网络爬虫技术,爬取当天直播回放的弹幕,进行热门云图的绘制。

1.首先我们要做的就是爬取b站上的弹幕

爬取b站弹幕其实有很多的方法,但是主要的核心一样的:

B站的弹幕存放在cid之中,可以手动去原网页查找网页中的代码,也可以自动获取,这边是自动获取,代码如下:

python编程的课程思政设计 python课程设计要求_词云

之后通过正则表达式解析出弹幕原文,并且存放到新建的弹幕.txt文件中:

python编程的课程思政设计 python课程设计要求_python编程的课程思政设计_02

下面是爬取到的弹幕:

python编程的课程思政设计 python课程设计要求_词云_03

2.接下来就是生成词云:

也是很简单的,主要用jieba库将弹幕分解和通过wordcloud生成,需要一张底图和爬好的弹幕

先是用jieba进行中文分词:

python编程的课程思政设计 python课程设计要求_python_04

用wordcloud生成词云:

代码底图如下:

python编程的课程思政设计 python课程设计要求_词云_05

python编程的课程思政设计 python课程设计要求_python_06

生成的词云如下:

python编程的课程思政设计 python课程设计要求_词云_07

事实上,弹幕的语气词过多,导致词云的观感不是很好,这时候需要我们手动筛出一些没什么意义的关键词:

python编程的课程思政设计 python课程设计要求_python编程的课程思政设计_08

最后,生成的词云如下:

python编程的课程思政设计 python课程设计要求_python编程的课程思政设计_09

可以说还是很震撼的

3.在ECS上实现代码

配置如下:

python编程的课程思政设计 python课程设计要求_python编程的课程思政设计_10

上传代码:

python编程的课程思政设计 python课程设计要求_词云_11


python编程的课程思政设计 python课程设计要求_python_12

(具体运行步骤在视频里,和在pycharm结果相同,不再展示)

3.课程感想

经过这一学期的python课,我已经对于python这一门语言有了大概的掌握,
之所以去选择学这门课主要是因为,在之前学过的c,java的语言中,可能是本身语言难度比较高,又或者是自己学的不太好,导致在日常的学习中深深的感觉自己能做的东西太少了,就比如是在数据库课程设计中,如果会python在写后端的时候,就能轻松一大截,所以我觉得学个python在校内还是很有必要的。
在这个学期的学习之中从最简单的python程序开始,输入输出、变量、语法、体验了gui画ui,数组字典等、正则表达式、函数、面向对象、套接字、网络编程、爬虫,这些知识,有新有旧算是,都有接触过,但是学会了感觉也不一样。
不仅仅是python的内容,还有用markdown语言来写博客,对于我来说也是一个很新的体验,同时从同学们的写的博客进行学习
这次大作业嘛,主要由于时间关系,做是一个小小的爬虫加词云,其实不难,但是挺有意思的。
最后,感谢老师的辛苦付出,带着我们一起敲代码,让我收获颇丰。