PAGE4
PAGE4
PAGE1
PAGE1
课题
第6章模拟登录和处理验证码
课时
4课时(180min)
教学目标
知识目标:
(1)理解Session会话机制
(2)掌握使用Session模拟登录并保持登录状态的方法
(3)掌握处理图片验证码、点触验证码和滑动拼图验证码的方法
能力目标:
能使用开源工具或第三方收费的接口处理验证码
素质目标:
提升学生的专业技能和实践能力,培养信息意识、问题解决能力、持续学习与探索精神以及信息安全意识等综合素质
教学重难点
教学重点:Session会话机制,使用Session模拟登录并保持登录状态的方法,处理图片验证码、点触验证码和滑动拼图验证码的方法
教学难点:使用开源工具或第三方收费的接口处理验证码
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
如何使用Session模拟登录?
【学生】聆听、思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍使用Session模拟登录,处理图片验证码、点触验证码和滑动拼图验证码的方法等知识
6.1模拟登录
在2.3节中,已经介绍了使用Cookie保持登录状态的方法,但是这种方法需要在浏览器中输入用户名和密码登录后,再复制用户状态下网页请求头中的Cookie,将其设置到程序中。除了使用Cookie,爬虫程序还可以使用Session保持登录。Session也是一种记录客户端状态的会话机制,它保存在服务器上。
……(详见教材)
?【教师】利用多媒体展示“常用的方法和属性”表格(详见教材),并进行讲解
requests库中的session对象可以模拟登录并自动更新Cookie,实现保持登录,常用的方法和属性如表所示。
【例6-1】爬取用户登录状态下豆瓣网站内容,输出爬取到的账号信息。
?【教师】利用多媒体展示“登录豆瓣网的请求信息”和“登录豆瓣网的响应信息”图片(详见教材),并进行讲解
(详见教材)
6.2处理验证码
目前,许多网站采取各种各样的措施来反爬虫,其中最常用的措施是使用验证码。常见的验证码有图片验证码、点触验证码和滑动拼图验证码等。本节介绍爬虫程序处理不同验证码的方法。
6.2.1处理图片验证码
?【教师】利用多媒体展示“大图网登录页面的图片验证码”图片(详见教材),并进行讲解
图片验证码是一种最简单的验证码,一般由4位字母或数字组成,需要完全正确地输入字符才能完成登录。例如,大图网登录页面的图片验证码如图所示。
?【教师】播放“处理图片验证码”视频(详见教材),并提出以下问题:
如何处理图片验证码?
?【学生】观看、思考、举手回答
?【教师】总结学生回答
1.识别思路
识别图片验证码通常使用图像识别技术。这种技术称为光学字符识别(OpticalCharacterRecognition,OCR),它通过检测暗、亮的模式确定其形状,然后使用字符识别方法将形状翻译成计算机文字。而在识别过程中,一些图片存在多余线条的干扰,需要对图片进行灰度和二值化处理,以提高图片的识别率。……(详见教材)
2.下载和安装Tesseract-OCR
pytesseract库是Python的一个OCR识别库,但其实是对Tesseract做了一层PythonAPI封装。因此,在安装pytesseract库之前,需要先安装Tesseract-OCR。
?【教师】利用多媒体展示“下载列表”图片(详见教材),并进行讲解
1在打开的页面下载列表中选择“tesseract-ocr-w64-setup-v0190623.exe”选项下载安装文件,如图所示。
1
2双击下载好的tesseract-ocr-w64-setup-v0190623.exe文件,根据安装提示进行安装即可。
2
3.安装pytesseract库
pytesseract库不是Python内置的标准库,使用之前需要安装,其安装方法与requests库的安装类似(请参考2.3.2小节),此处不再赘述。
4.识别验证码
?【教师】利用多媒体展示“Image模块提供的常用图像基本操作的方法”表格(详见教材),并进行讲解
image_to_string()方法是pytesseract库提供的识别图片中文本的方法,它将图片上的字母或数字转为字符串。该方法的参数是Image对象,它可以由PIL库(Python的第三方图像处理库)中的Image模块生成。Image模块还提供了图像基本操作的方法,常用的如表所示。
【例6-2】识别大图网登录页面的图片验证码,显示原图、灰度图和二值图,