20232218 张均钰 2023-2024-2 《Python程序设计》实验四报告

20232218 张均钰 2023-2024-2 《Python程序设计》实验四报告

课程:《Python程序设计》
班级: 2322班
姓名: 张均钰
学号: 20232218
实验教师:王志强
实验日期:2024年5月15日
必修/选修: 公选课

1.实验内容

【1】实验整体内容:

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。

(1)编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。

(2)利用公开数据集,开展图像分类、恶意软件检测等

(3)利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。

(4)爬取天气数据,实现自动化微信提醒

(5)利用爬虫,实现自动化下载网站视频、文件等。

(6)编写小游戏:坦克大战、贪吃蛇、扫雷等等

注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

【2】本实验聚焦内容:

(1)编写从社交网络爬取数据,实现自动化提取数据,并填入excel中。

2. 实验过程及结果

利用爬虫技术实现豆瓣电影名称等信息的爬取,并存于excel表格中

实验四过程:

(1)实验设计原因:
有的人平时对电影有着很大的需求,却烦恼于对电影重复无意义的翻找,针对这种情况,我利用爬虫技术实现了对豆瓣电影名称等信息的爬取,存于excel表格中,方便查看电影的信息,便于更好的电影查找与观赏体验

(2)实验设计思路:
第一部分:库函数安装:

  • requests库函数:用于发送HTTP请求。
  • BeautifulSoup库函数:用于解析HTML内容。
  • re库函数:用于引入正则表达式
  • xlwt库函数:用于创建excel表
  1. import urllib.request, urllib.error
  2. from bs4 import BeautifulSoup
  3. import xlwt
  4. import re

第二部分:主要内容设计:

1-设置目标URL并获取页面内容:

  • baseurl:定义了豆瓣的网址。
  • askURL()函数:获取网页内容。
  • getData()函数:用来爬取网页信息
  1. baseurl = "https://movie.douban.com/top250?start="
  2. def getData(baseurl)
  3. def askURL(url)

2-使用BeautifulSoup解析HTML:

  • BeautifulSoup(html, 'html.parser'):创建一个BeautifulSoup对象,用于解析HTML。
soup = BeautifulSoup(html, "html.parser")

3-提取排行榜数据:

4-创建并操作Excel文件:

  • book = xlwt.Workbook(encoding="utf-8",style_compression=0) 创建workbook对象
  • sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True) 创建工作表
  • col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息")列名
  • sheet.write(i+1,j,data[j])  写入数据
  • book.save(savepath) 保存文件

5-输出提示信息:

  • print('爬取完毕!'):在控制台输出提示信息,告知用户数据已保存。

6-正则表达式的建立:

(3)函数的构造

        1.def askURL(url):该函数获取了网页的url内容

        

        2.def getData(baseurl):该函数从获取的内容中提取了所需的信息

        3.def saveData(datalist,savepath):该函数将信息保存至创建的excel表中

        实验四结果:

(1)成功爬取豆瓣电影,并将其存储于excel表格中,实现可视化。

演示视频:

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

  • 问题1:安装库函数问题,部分库函数不清楚应该使用怎样的命令去安装。

  • 问题1解决方案:在CSDN上查找了相关的资料后,了解的在本实验中代码所需要的库函数的安装方式

  • 问题2:在某些库函数通过终端安装后,无法正常使用

  • 问题2解决方案:库函数安装后,会显示库函数被存放的位置,应该将代码放在库函数所安装的文件夹内, 保证代码可以识别到库函数的存在,不会出现报错现象。

  • 问题3:对于电影数据的爬取,实验预期希望能将数据存在excel表格,但是在本实验代码实现过程中,代码出现报错现象。

  • 问题3解决方案:实现终端输出以及excel的输出,在CSDN了解并借鉴excel所需要使用的库函数以及代码的书写方式。

4. 其他(感悟、思考等)

【1】实验四感悟:

在进行爬虫实验的过程中,我学到了很多东西。首先是关于网络通信和HTML解析的知识,了解了HTTP协议、请求与响应、网页结构等基础内容。其次是编程技能的提升,编写爬虫程序需要熟练掌握至少一种编程语言,同时还需要具备良好的代码风格和调试能力。另外,还需要了解网站的反爬虫机制,学会应对各种反爬虫手段,确保爬虫程序能够稳定高效地运行。

爬虫实验获取到的原始数据通常需要经过清洗和整理,才能够用于后续的分析工作。因此,我学会了使用各种数据处理工具和技术,如正则表达式、XPath、Beautiful Soup等,以及数据存储和管理技术,如数据库、文件存储等。

爬虫实验让我掌握了实用的技能,拓展了我的视野,让我更加深入地了解了网络世界和数据科学的奥秘。

【2】课程感想体会、意见及建议:

1-感想体会:课程结束之后,我对python课程深有体会,首先,参加Python课程是一个非常重要的决定,老师上的课清晰易懂,内容量丰富,让我对python的了解更加深入,培养了我的编程能力和解决问题的能力,为我未来的学习和工作奠定了良好的基础。

2-意见与建议:希望老师能在课上提出更多问题与同学们互动,这样可以加深同学们对python的印象。

5. 参考资料​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值