爬虫技术实验报告

实验项目名称 爬虫技术
一、实验目的
1、通过实验和分析,评估不同的等待机制在Python动态网页爬虫中的使用效果和性能差异。
2、通过对比不同等待机制的优缺点,可以更好地了解何时使用何种等待机制,并选择最适合自己需求的方法。
3、对于网页进行请求,然后抓取所需的内容,最后存储数据,可以了解爬取的过程。
二、实验内容和要求
1、结合Exercise 3 and Exercise 4
2、对电影网站前五名的当红电影,每三个小时自动抓取一次。每次连续抓取三次,每次都须要有等待。
3、根据三种不同等待方法,进行结果纪录与图表制作。
三、实验环境
1、Python
2、谷歌浏览器

四、实验方法和步骤
根据题目要求,我选择对于豆瓣电影进行对应爬取
在这里插入图片描述

1、导入所需的库
在这里插入图片描述

2、创建浏览器驱动
在这里插入图片描述

3、创建一个空列表times,用于记录各种等待方法的时间
在这里插入图片描述

4、创建一个列表methods,用于存储等待方法的名称
在这里插入图片描述

5、定义函数get_page_content(driver),用于获取页面的HTML源码
在这里插入图片描述

6、定义函数parse_movie_info(html),用于从HTML中解析电影信息
在这里插入图片描述

7、定义函数create_csv_file(),用于创建CSV文件并添加列头
在这里插入图片描述

8、定义函数write_movie_info_to_csv(rank, movie_info),用于将电影信息写入CSV文件
在这里插入图片描述

9、定义函数scrape_movie_info(driver),用于爬取电影信息并将其写入CSV文件
在这里插入图片描述

10、定义函数run_scraping(),用于执行整个爬虫流程
在这里插入图片描述

11、通过循环执行搜索和记录时间
在这里插入图片描述
在这里插入图片描述

12、关闭浏览器驱动
在这里插入图片描述

13、使用matplotlib库绘制耗时柱状图
在这里插入图片描述

如果想实现每三个小时自动获取,可以在循环外进行如下修改:
在这里插入图片描述

由于会一直重复执行,所以我没有选择修改。

五、实验结果
1、获取的数据信息
在这里插入图片描述

2、四种等待对比图
在这里插入图片描述

PS:我四种等待没有进行异常处理,就算出现异常也不会进行相关处理,所以可能最后的图像分析会出现时间为0的情况,这个情况可能是出现异常。
六、实验总结
通过本次实验,我学会了使用Selenium和BeautifulSoup库来爬取网页信息,并将其保存到CSV文件中。同时,我也学会了不同的等待方法,包括无等待、强制等待、隐含等待和明确等待,并比较了它们的耗时。
同时也使用matplotlib库绘制柱状图,用于比较不同等待方法的耗时。这样可以直观地看到不同等待方法的效果,有助于选择合适的等待方法来提高爬虫的效率。
但是我的代码也存在一些不足和问题,就是四种等待没有进行异常处理,就算出现异常也不会进行相关处理,所以可能最后的图像分析会出现时间为0的情况,这个情况可能是出现异常。
总的来说,本次实验让我对爬虫的基本原理有了更深入的了解,并学会了使用Selenium和BeautifulSoup库进行网页内容的解析和提取。同时,我也学会了不同的等待方法,并比较了它们的耗时效果,来帮助我们对数据的获取。

批阅教师评语:

评定等级: 批阅教师签名: 年 月 日

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuezha_liang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值