第7章Scrapy爬虫
教案
课程名称:Python网络爬虫技术
课程类别:必修
适用专业:大数据技术类相关专业
总学时:32学时(其中理论14学时,实验18学时)
总学分:2.0学分
本章学时:5学时
一、材料清单
(1)《Python网络爬虫技术》教材。
(2)配套PPT。
(3)引导性提问。
(4)探究性问题。
(5)拓展性问题。
二、教学目标与基本要求
1.教学目标
使用Scrapy框架爬取网站,学会Scrapy的数据流向、框架,以及框架各组成部分的作用。
Scrapy的常用命令及其作用。
创建Scrapy爬虫项目,创建爬虫模板的方法。
根据项目最终目标修改items/piplines脚本。
编写spider脚本,解析网页。
修改settings脚本,实现下载延迟设置等。
定制下载中间件,实现随机选择访问USER_AGENT与IP。
2.基本要求
(1)了解Scrapy爬虫框架。
(2)熟悉Scrapy常用命令。
(3)修改items/piplines脚本存储数据。
(4)编写spider脚本解析网页信息。
(5)修改settings脚本设置爬虫参数。
(6)定制Scrapy中间件。
三、问题
1.引导性提问
引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。
(1)如何实现对爬取过的内容不重新爬取?
2.探究性问题
探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。
或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。
(1)如何实现日志打印到文件中?
(2)piplines脚本中item是什么数据类型?
(3)如何实现保存数据到MongoDB数据库?
3.拓展性问题
拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。
亦可以提供拓展资料供学生研习探讨,完成拓展性问题。
(1)Requests库和Scarpy库对比各有什么优缺点?
(2)Scarpy如何实现人工验证码验证?
四、主要知识点、重点与难点
1.主要知识点
(1)了解Scrapy爬虫框架。
(2)熟悉Scrapy常用命令。
(3)创建Scrapy爬虫项目。
(4)修改items/piplines脚本。
(5)编写spider脚本。
(6)修改settings脚本。
(7)定制下载器中间件。
(8)定制Spider中间件。
2.重点
(1)熟悉Scrapy常用命令。
(2)创建Scrapy爬虫项目。
(3)修改items/piplines脚本。
(4)编写spider脚本。
3.难点
(1)修改items/piplines脚本。
(2)编写spider脚本。
五、教学过程设计
1.理论教学过程
(1)了解Scrapy的框架构成。
(2)了解Scrapy各组件的作用。