《网络爬虫项目实践》课件_项目四:分布式爬虫(教案).docx
项目四分布式爬虫
教案
课程名称:网络爬虫项目实践
课程类别:必修
适用专业:大数据技术类相关专业
总学时:64学时(其中理论28学时,实验36学时)
总学分:4.0学分
本章学时:3学时
材料清单
《网络爬虫项目实践》教材。
配套PPT。
引导性提问。
探究性问题。
拓展性问题。
教学目标与基本要求
教学目标
分布式爬虫实现了多台电脑使用一个共同的爬虫程序,它可以同时将爬虫任务部署到多台电脑上运行,这样可以提高爬虫速度,实现分布式爬虫。
想要保证多台机器共用一个queue队列和set集合,在scrapy框架中,是需要结合scrapy_redis完成的。分布式爬虫可以让所有机器上的爬虫程序,从同一个queue队列中获取request请求,并且每个机器取出request,请求的对象是不一样的,直到所有的request被请求完毕。
本项目分为三个任务,任务1介绍分布式环境搭建,任务2和任务3通过两个项目介绍三种scrapy_redis运行方式。
、基本要求
掌握VMWare虚拟机的安装方法
掌握在CentOS的安装和配置方法
掌握在CentOS上安装Python的方法
掌握在CentOS中安装部署scrapy方法
掌握在CentOS中安装部署scrapy-redis方法
掌握克隆虚拟机的方法
掌握在Windows中安装Redis数据库的方法
掌握scrapy-redis的编码方式
问题
引导性提问
引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。
什么是分布式爬虫的优点和缺点?
如何使用Redis作为任务队列来实现分布式爬虫?
如何使用Scrapy-redis框架来快速搭建一个分布式爬虫?
探究性问题
探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。
如何使用RabbitMQ或Kafka作为消息中间件来实现分布式爬虫?
如何使用数据库集群或分片来存储分布式爬虫的数据?
如何使用Scrapy的信号机制来监控和控制分布式爬虫的状态?
拓展性问题
拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料供学生研习探讨,完成拓展性问题。
如何使用Docker或Kubernetes来部署和管理分布式爬虫的容器?
如何使用Selenium或Splash来实现分布式爬虫的动态页面渲染?
如何使用Scrapy的扩展机制来增加或修改分布式爬虫的功能?
主要知识点、重点与难点
主要知识点
VMWare虚拟机的安装
CentOS的安装和配置
CentOS安装Python
CentOS安装部署scrapy
CentOS安装部署scrapy-redis
克隆虚拟机
Windows中安装Redis数据库
scrapy-redis的运行方式
重点
CentOS安装Python
CentOS安装部署scrapy
CentOS安装部署scrapy-redis
Windows中安装Redis数据库
scrapy-redis的运行方式
难点
CentOS安装Python
scrapy-redis的运行方式。
教学过程设计
理论教学过程
VMWare虚拟机的安装方法
在CentOS的安装和配置方法
在CentOS上安装Python的方法
在CentOS中安装部署scrapy方法
在CentOS中安装部署scrapy-redis方法
克隆虚拟机的方法
在Windows中安装Redis数据库的方法
分布式爬取三种方式
实验教学过程
安装VMWare虚拟机
Linux安装
虚拟机网络设置
安装Python
安装分布式框架
克隆虚拟机
安装Redis数据库
创建Scrapy项目
爬取网页数据
爬取网页数据
数据存储
分布式爬取
教材与参考资料
教材
李程文,唐建生,冯欣悦.网络爬虫项目实践[M].西安:西安电子科技大学出版社.2023.
参考资料
[1] 赵国生,王健.python网络爬虫技术与实战[M].北京:机械工业出版社.2021.
[2] 黑马程序员.Python网络爬虫基础教程[M].北京:人民邮电出版社.2022.
[3] 罗刚,王振东.Python网络爬虫从入门到精通[M].北京:清华大学出版社.2023.