《《网络爬虫项目实践》 教案全套 李程文 项目1--4 网页数据获取-- 分布式爬虫.docx》由会员分享,可在线阅读,更多相关《《网络爬虫项目实践》 教案全套 李程文 项目1--4 网页数据获取-- 分布式爬虫.docx(19页珍藏版)》请在第一文库网上搜索。
1、项目一网页数据获取教案课程名称:网络爬虫项目实践课程类别:必修适用专业:大数据技术类相关专业总学时:64学时(其中理论28学时,实验36学时)总学分:4.0学分本章学时:3学时一、材料清单(1)网络爬虫项目实践教材。(2)配套PpT。(3)引导性提问。(4)探究性问题。(5)拓展性问题。二、教学目标与基本要求1教学目标网页数据爬取是互联网行业的一项重要的基础能力,“网页数据”包括网页上的文字、图像、声音、视频和动画等。本项目网页数据获取将通过三个任务由浅入深来完成如何爬取网页数据。任务1,通过读书网信息爬取任务,介绍正则表达式爬取数据方法,以及处理数据乱码和爬取链接不完整的方法。任务2,通过今
2、日头条数据爬取任务,阐述关键字搜索、重定向网页过漉、MongoDB数据库使用方法。最后,任务3,通过京东动态渲染页面的信息爬取,讲授了动态渲染页面的爬取过程、SeIenium构造自定义浏览器渲染引擎搜索关键字和模拟翻页、PyQUery分析页面源代码获取商品内容,最后保存数据信息至MongoDB。2.、基本要求(1)熟练掌握第三方库的安装方法(2)熟练掌握requests库的使用(3)熟练掌握re库的使用(4)熟练掌握JoSN数据爬取方式(5)熟练掌握SeIeniUm、PyMongoPyQUery模块的使用方法(6)熟练使用Python的多进程数据爬取方式(7)熟练掌握爬虫结果乱码处理方式三、问
3、题1.引导性提问引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。(I)网页数据获取能够做什么?(2)网页数据获取都使用了哪些技术?(3)PythOn进行网页数据获取的优势?2 探究性问题探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。(1)网页数据获取能够应用在哪些场景?(2)不同页面的数据获取方法有什么不同?3 .拓展性问题拓展性问题需要教师深刻理解教材的意义,学
4、生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料供学生研习探讨,完成拓展性问题。(I)网页数据获取可以应用在哪些行业?(2)网页数据获取得到的数据如何进行数据分析?四、主要知识点、重点与难点1 .主要知识点(1) requests库的使用。(2) re库的使用。(3) JoSN数据爬取方式。(4) Se1eniumPyMongoPyQUery模块的使用方法。(5) Py1hOn的多进程数据爬取方式。(6)爬虫结果乱码处理方式。2 .重点(1)第三方库的安装。(2)第三方库的使用。3 3)JSON数据爬取。(4)中文乱码问题的处理。3.难点(1)第三方库的
5、使用方法。(2) JSoN数据爬取。五、教学过程设计1 .理论教学过程(1)网页数据获取的概念和意义。(2)不同网页数据获取的流程。(3)网页数据获取的应用场景。(4)网页数据获取常用工具的安装和使用方法。(5)网页数据获取的常用类库。2 .实验教学过程(I)网页结构分析(2)第三方库安装(3)解决爬虫中文乱码(4)网页数据爬取(5)爬取网页数据(6)获取搜索结果(7)详情解析详情页(8)数据保存数据(9)搜索关键字(10)分析页面并翻页(I1)分析提取商品内容(12)信息保存至MongoDB六、教材与参考资料3 .教材李程文,唐建生,冯欣悦.网络爬虫项目实践M.西安:西安电子科技大学出版社.
6、2023.4 .参考资料1赵国生,王健.python网络爬虫技术与实战M.北京:机械工业出版社.2023.2黑马程序员.Python网络爬虫基础教程M.北京:人民邮电出版社.2023.3罗刚,王振东.Python网络爬虫从入门到精通M.北京:清华大学出版社.2023.项目二特殊网页数据获取教案课程名称:网络爬虫项目实践课程类别:必修适用专业:大数据技术类相关专业总学时:64学时(其中理论28学时,实验36学时)总学分:4.0学分本章学时:3学时七、材料清单(6)网络爬虫项目实践教材。(7)配套PpT。(8)引导性提问。(9)探究性问题。(10)拓展性问题。八、教学目标与基本要求5 .教学目标在
7、互联网中,一些网页无须登录即可访问,但有些网页需要登录才能够访间,例如在新浪微博中,登录后才能访问用户的第二页信息。通过三个任务,任务1,数睿思网模拟登录,任务2,通过古诗词网数据爬取,任务3,通过微信网页代理爬虫文章信息,让学生掌握表单登录实现模拟登录的流程、验证码的识别、使用代理处理反爬虫。4.基本要求(1)掌握使用Requests库实现请求(2)掌握使用ChrOme开发者工具查找模拟登录需要的相关信息(3)掌握表单登录的流程(4)会安装TeSSeraCt工具,会配置环境(5)熟悉PI1和tesseract库(6)能够利用pytesseract识别简单的图形验证码(7)使用F1askRed
8、is维护代理池(8)抓取索引页内容(9)设置代理(10)分析详情页内容(H)保存数据信息至mongoDB九、问题1.引导性提问引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。(4)在爬取网页时,都有哪些特殊网页?(5)在互联网中,一些网页无须登录即可访问,但有些网页需要登录才能够访问,需要哪些技术来实现?(6)反爬虫方式有哪些?2.探究性问题探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中
9、又是重要的问题加以设问。(3)针对特殊网页,如何爬取?(4)如何应对反爬虫?3.拓展性问题拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料供学生研习探讨,完成拓展性问题。(3)复杂验证码如何识别?(4)爬取到的数据如何进行数据分析?十、主要知识点、重点与难点1 .主要知识点(1) Requests库实现请求(2) Chrome开发者工具查找模拟登录需要的相关信息(3)表单登录的流程PI1和tesseract库(5) pytesseract识别简单的图形验证码(6) F1ask+Redis维护代理池(7)抓取索引页内
10、容(8)设置代理(9)分析详情页内容(10)保存数据信息至mongoDB2.重点(I)表单登录的流程(2)PI1和tesseract库(3)pytesseract识别简单的图形验证码FIaSk+Redis维护代理池(5)抓取索引页内容(6)设置代理(7)分析详情页内容(8)保存数据信息至mongoDB3.难点(1)F1ask+Rcdis维护代理池(2)设置代理一、教学过程设计1 .理论教学过程(6) ReqUeStS库实现请求(7)表单登录的流程(8) PI1和tesseract库的使用(9) F1ask+Redis维护代理池2 .实验教学过程(I)使用ReqUeStS库实现请求(2)使用Ch
11、rome开发者工具查找模拟登录需要的相关信息(3)安装TeSSeraCt工具,配置环境(4)利用PyteSSeraCt识别简单的图形验证码(5)使用F1askRedis维护代理池(6)抓取索引页内容(8)分析详情页内容(9)保存数据信息至mongoDB十二、教材与参考资料1 .教材李程文,唐建生,冯欣悦.网络爬虫项目实践M.西安:西安电子科技大学出版社.2023.2 .参考资料1赵国生,王健.python网络爬虫技术与实战M.北京:机械工业出版社.2023.2黑马程序员.Python网络爬虫基础教程M.北京:人民邮电出版社.2023.3罗刚,王振东.Python网络爬虫从入门到精通M.北京:清
12、华大学出版社.2023.项目三SCraPy框架爬虫教案课程名称:网络爬虫项目实践课程类别:必修适用专业:大数据技术类相关专业总学时:64学时(其中理论28学时,实验36学时)总学分:4.0学分本章学时:3学时十三、材料清单(11)网络爬虫项目实践教材。(13)引导性提问。(14)探究性问题。(15)拓展性问题。十四、教学目标与基本要求3 .教学目标本项目分为三个任务,任务1通过当当网的爬取演示如何使用Scrapy的基本使用,任务2通过赶集网的登录演示Scrapy的模拟登录功能,任务3通过失信人信息爬取演示Scrapy爬取复杂网站的方法。4 .、基本要求(8)掌握使用SCraPy创建爬虫项目的方
13、式(9)掌握SCraPy创建爬虫文件命令的使用(10)掌握使用SCraPy进行数据爬取的基本方法(I1)掌握使用SCraPy模拟登录赶集网的方法(12)掌握将爬取结果存储到MySQ1数据库的方法(13)掌握AjaX数据爬取方式十五、问题(1) 导性提问引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。(7) SCraPy项目是由哪些主要文件和目录组成的?(8) SCraPy如何定义提取的结构化数据(Item)?(9) SeraPy如何编写爬虫(Spider)并从网页中提取Item?2.探究性问题探究性
14、问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。(5) SCraPy如何使用管道(PiPeIine)来存储或处理提取到的I1em?(6) SCraPy如何使用中间件(Midd1eware)来自定义下载或处理请求和响应?(7) Scrapy如何使用选择器(Se1eCtor)或BeautifuISoup来解析HTM1或XM1文档?3.拓展性问题拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料
15、供学生研习探讨,完成拓展性问题。(5) SCraPy如何使用信号(SignaI)来在爬虫的不同阶段执行自定义操作?(6) SCraPy如何使用扩展(EXtenSion)来增加或修改SCraPy的核心功能?(7) SCraPy如何使用调度器(SChedUIer)来控制请求的优先级或延迟?十六、主要知识点、重点与难点1 .主要知识点(7) Scrapy创建爬虫项目的方式(8) SCraPy常见命令的使用(9) SeraPy模拟登录的方式(10) SCraPy数据存储的方式2 .重点(1) Scrapy创建爬虫项目的方式(2) Scrapy常见命令的使用(3) SCraPy模拟登录的方式(4) Scrapy数据存储的方式3 .难点