PAGE8
PAGE8
PAGE7
PAGE7
课题
第2章爬虫基础
课时
6课时(270min)
教学目标
知识目标:
(1) 理解HTTP的基本原理
(2)了解urllib库的使用方法
(3)掌握requests库的使用方法
(4)了解Python中的字符编码
能力目标:
能使用urllib库和requests库构造HTTP请求实现网页的爬取
素质目标:
具备持续学习的能力,能够跟踪爬虫技术的最新发展动态
教学重难点
教学重点:HTTP的基本原理,urllib库的使用方法,requests库的使用方法,Python中的字符编码
教学难点:使用urllib库和requests库构造HTTP请求实现网页的爬取
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
爬取网页的第一步是什么?
【学生】聆听、思考、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,介绍HTTP基本原理,urllib库,requests库,以及字符编码的相关知识
2.1HTTP基本原理
?【教师】播放“HTTP基本原理”视频(详见教材),并提出以下问题:
HTTP的基本原理是什么?
?【学生】观看、思考、举手回答
?【教师】总结学生回答
在浏览器中输入一个URL,按回车键后便会在浏览器中显示网页内容。实际上,这个过程是浏览器向Web服务器发送了一个HTTP请求;Web服务器接收到这个请求后进行解析和处理,然后返回给浏览器对应的HTTP响应;浏览器再对HTTP响应进行解析,从而将网页呈现了出来。下面以使用GoogleChrome浏览器打开百度的搜索页面为例来展示HTTP请求和响应的过程。
……(详见教材)
2.1.1HTTP请求
HTTP请求可以分为四部分内容:请求的网址(RequestURL)、请求方法(RequestMethod)、请求头(RequestHeaders)和请求体(RequestBody)。
1.请求的网址
请求的网址即URL,它可以唯一确定请求的资源。图中的“RequestURL”
2.请求方法
常见的请求方法有两种:GET方法和POST方法。
(1)GET方法,请求指定的网页信息,并返回网页内容,提交的数据最多只有1024字节。
(2)POST方法,向指定资源提交数据并进行请求处理(如提交表单或上传文件)。数据都包含在请求体中,提交的数据没有字节限制。
……(详见教材)
3.请求头
请求头是请求的重要组成部分,在编写爬虫程序时,大部分情况下都需要设定请求头。不同请求的请求头包含的内容不同,应用时应根据实际需求设定。图中的“RequestHeaders”部分即为请求头。
?【教师】利用多媒体展示“常见的请求头及其说明”表格(详见教材),并进行讲解
常见的请求头及其说明如表所示。
?【教师】利用多媒体展示“Content-Type和POST提交数据方式的关系”表格(详见教材),并进行讲解
其中,“Content-Type”确定了POST请求提交数据的方式,如表所示。
4.请求体
?【教师】利用多媒体展示“POST请求中的请求体”图片(详见教材),并进行讲解
请求体中的内容一般是POST请求中的表单数据,而GET请求的请求体为空。例如,使用账户登录百度网站可看到POST请求中的请求体(“FormData”部分),如图所示。
2.1.2HTTP响应
HTTP响应可以分为三部分内容:响应状态码(ResponseStatusCode)、响应头(ResponseHeaders)和响应体(ResponseBody)。
1.响应状态码
?【教师】利用多媒体展示“常见的响应状态码”表格(详见教材),并进行讲解
响应状态码表示服务器的响应状态,常见的响应状态码如表所示。
图中的“StatusCode”部分即为响应状态码(200OK)。在爬取网页时,爬虫程序可以根据状态码判断服务器的响应状态,如果状态码为200,则表明返回数据成功,可以进行下一步的处理。
2.响应头
?【教师】利用多媒体展示“常见的响应头及其说明”表格(详见教材),并进行讲解
响应头包含了服务器对请求的应答信息,图中的“ResponseHeaders”部分即为响应头。常见的响应头及其说明如表所示。
3.响应体
?【教师】利用多媒体展示“响应体”图片(详见教材),并进行讲解
响应体包含响应的正文数据。例如,请求网页时,响应体是网页的网页源代码;请求图片时,响应体是图片的二进制数据。在图中选择“Response”选项,可显示响应体,如图所示。
2.