爬虫技术实验报告

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

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

1、导入所需的库
爬虫技术实验报告_第1张图片

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

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

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

5、定义函数get_page_content(driver),用于获取页面的HTML源码
爬虫技术实验报告_第2张图片

6、定义函数parse_movie_info(html),用于从HTML中解析电影信息
爬虫技术实验报告_第3张图片

7、定义函数create_csv_file(),用于创建CSV文件并添加列头
爬虫技术实验报告_第4张图片

8、定义函数write_movie_info_to_csv(rank, movie_info),用于将电影信息写入CSV文件
爬虫技术实验报告_第5张图片

9、定义函数scrape_movie_info(driver),用于爬取电影信息并将其写入CSV文件
爬虫技术实验报告_第6张图片

10、定义函数run_scraping(),用于执行整个爬虫流程
爬虫技术实验报告_第7张图片

11、通过循环执行搜索和记录时间
爬虫技术实验报告_第8张图片
爬虫技术实验报告_第9张图片

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

13、使用matplotlib库绘制耗时柱状图
爬虫技术实验报告_第10张图片

如果想实现每三个小时自动获取,可以在循环外进行如下修改:
爬虫技术实验报告_第11张图片

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

五、实验结果
1、获取的数据信息
爬虫技术实验报告_第12张图片

2、四种等待对比图
爬虫技术实验报告_第13张图片

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

批阅教师评语:

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

你可能感兴趣的:(实验报告,爬虫)