《Python网络爬虫基础教程教学设计.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫基础教程教学设计.docx(94页珍藏版)》请在三一办公上搜索。
1、黑马程序员传智教育南下高端IT教育品牌黑马程序员Python网络底女基础教程教学设计课程名称:授课年级:授课学期:教师袅名:课题名称第1章认识网络爬虫计划课时2课时教学引入随着网络的蓬勃发展,万维网成为大量信息的载体,如何有效提取并利用这些信息成为一个巨大的挑战。网络爬虫作为一种自动采集数据技术,它凭借自身强大的自动提取网页数据的能力,成为当下万维网收集数据高效灵活的解决方案之一。本章主要对网络爬虫的基础知识进行详细地讲解。教学目标 使学生熟悉网络爬虫的概念及分类,能够归纳通用网络爬虫和聚焦网络爬虫的区别 使学生了解网络爬虫的应用场景,能够列举至少3个网络爬虫的应用场景 使学生熟悉网络爬虫的R
2、obots协议,能够说明robots.txt文件中每个选项的含义 使学生熟悉防网络爬虫的应对策略,能够列举至少3个应对防网络爬虫的策略 使学生掌握网络爬虫的工作原理,能够定义通用爬虫和聚焦爬虫的工作原理 使学生熟悉网络爬虫抓取网页的流程,能够归纳网络爬虫抓取网页的完整流程 使学生了解网络爬虫的实现技术,能够说出使用Python实现网络爬虫有哪些优势 使学生熟悉网络爬虫的实现流程,能够归纳使用Python实现网络爬虫的流程教学重点 网络爬虫的工作原理 网络爬虫抓取网页的流程 Python实现网络爬虫的流程教学难点无教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(什么是网络
3、爬虫、网络爬虫的应用场景、RObotS协议、防爬虫应对策略)一、教师通过直接导入的方式导入新课教师首先讲解网络爬虫的概念,其次讲解网络爬虫历经几十年的发展,衍生出的爬虫类型,了解了什么是网络爬虫,然后讲解网络爬虫的应用场景,最后讲解RObOtS协议以及防爬虫对应策略。二、新课讲解知识点I-什么是网络爬虫教师通过PPT的方式讲解什么是网络爬虫。(1)熟悉网络爬虫的概念。(2)熟悉网络爬虫的分类。教师通过PPT的方式讲解网络爬虫的概念。网络爬虫(WebCrawler)又称网络蜘蛛、网络机器人,它是一种按照一定规则,自动浏览万维网的程序或脚本。通俗地讲,网络爬虫就是一个模拟真人浏览万维网行为的程序,
4、这个程序可以代替真人自动请求万维网,并接收从万黑马程序员www.itheima.m维网返回的数据0与真人浏览互联网相比,网络爬虫能够获取的信息量更大,效率也更高。教师通过PPT的方式讲解网络爬虫的分类。(1)通用网络爬虫(GeneralPurposeWebCrawler)又称全网爬虫(ScalableWebCrawler),是指访问全互联网资源的网络爬虫。通用网络爬虫是互联网早期出现的传统网络爬虫,它是搜索引擎(如百度、谷歌、雅虎等)抓取系统的重要组成部分,主要用于将互联网中的网页下载到本地,形成一个互联网内容的镜像备份。(2)聚焦网络爬虫(FocusedCraWler)又称主题网络爬虫(To
5、picalCrawler),是指选择性地访问那些与预先定义好的主题相关网页的网络爬虫,它根据预先定义好的目标,有选择性地访问与目标主题相关的网页,获取所需要的数据。(3)增量式网络爬虫(IncrementalWebCrawler)是指对已下载的网页采取增量式更新,只爬行新产生或者己经发生变化的网页的爬虫。(4)深层网络爬虫(DeePWebCraWIer)是指爬行深层网页的网络爬虫,它要爬行的网页层次比较深,需要通过一定的附加策略才能够自动爬行,实现难度稍微大一些。知识点2网络爬虫的应用场景教师通过PPT的方式讲解网络爬虫的应用场景。(1)搜索引擎(2)舆情分析与监测(3)聚合平台(4)出行类软
6、件知识点3-Robots协议教师通过PPT的方式讲解Robots协议。(1)RobotS协议又称爬虫协议,它是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息,确保网站用户的个人信息和隐私不受侵犯。(2)网站管理员通常会在网站的根目录下放置一个符合Robots协议的robots.txt文件,通过这个文件告知网络爬虫在抓取该网站时存在哪些限制,哪些网页是允许被抓取的,哪些网页是禁止被抓取的。知识点4.防爬虫应对策略教师通过PPT的方式讲解防爬虫应用策略。(1)添加User-Agent字段浏览器在访问网站时会携带固定的USer-Agent(用户代理,用于描述浏览器的类型及版本、操作系
7、统及版本、浏览器插件、浏览器语言等信息),这么做的目的是向网站表明自己的真实身份。(2)降低访问频率如果同一账户在较短的时间内多次访问了网页,那么网站运维人员会推断此种访问行为可能是网络爬虫的行为,并将该账户加入到黑名单禁止访问网站。为防止网站运维人员从访问量上认出网络爬虫的身份,我们可以降低网络爬虫访问网站的频率0(3)设置代理服务器网络爬虫在访问网站时,若反复使用同一IP地址进行访问,极易被网站认出网络爬虫的身份后进行屏蔽、阻止、封禁等操作,此时便可以在网络爬虫和Web服务器之间设置代理服务器。(4)识别验证码有些网站在检测到某个客户端的IP地址访问次数过于频繁时,有时会要求该客户端进行登
8、录验证,并随机提供一个验证码,此时为了应对这种突发情况,网络爬虫除了要输入正确的账户密码之外,还要像人类一样通过滑动或点击行为识别验证码,如此才能继续访问网站。三、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。四、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第二课时(网络爬虫的工作原理、网络爬虫抓取网页的流程、网络爬虫的实现技术、PYthOIl实现网络爬虫的流程)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、教师通过直接导入的方式导入新课互联网中有多种网络爬虫,尽管这些网络爬虫的使用场景不同,但它
9、们的工作原理大同小异。接下来,本节课将讲解网络爬虫的工作原理、网络爬虫的工作流程、网络爬虫的实现技术和Python实现网络爬虫的流程。三、新课讲解知识点网络爬虫的工作原理教师通过PPT的方式讲解学习目标。(1)通用网络爬虫的工作原理。(2)聚焦网络爬虫的工作原理。教师通过PPT的方式讲解通用网络爬虫的工作原理。通用网络爬虫的采集目标是整个互联网上的所有网页,它会先从一个或多个初始URL开始,获取初始URL对应的网页数据,并不断从该网页数据中抽取新的URL放到队列中,直至湎足一定的条件后停止,如下图所示。教师通过PPT的方式讲解聚焦网络爬虫的工作原理。聚焦网络爬虫会根据一定的网页分析算法对网页进
10、行筛选,保留与主题有关的网页链接,舍弃与主题无关的网页链接,目的性更强,如下图所示。知识点2-网络爬虫抓取网页的流程教师通过PPT的方式讲解网络爬虫抓取网页的流程虽然通用网络爬虫和聚焦网络爬虫的工作原理有一些差别,但它们抓取网页的流程是相似的,如下图所示。关于上图工作流程的介绍如下。(1)精心选择一些网页,将这些网页的链接作为种子URL。(2)将种子URL放入到待抓取URL队列中。(3)从待抓取URL队列中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器所对应的IP地址。(4)将IP地址和网页相对路径名称交给网页下载器,网页下载器负责网页内容的下载。(5)网页下载器将相应网页
11、的内容下载到本地。(6)将下载到本地的网页存储到页面库中,等待建立索引等后续处理;与此同时将下载过网页的URL放入到已抓取URL队列中,这个队列记载了网络爬虫己经下载过的网页URL,以避免网页的重复抓取。(7)对于刚刚下载的网页,从中抽取出所包含的所有链接信息,并在己抓取URL中检查其是否被抓取过,如果还未被抓取过,则将这个URL放入到待抓取URL队列中。(8)下载待抓取URL队列中的URL对应的网页,如此重复(3)(7),直到待抓取URL队列为空。知识点3-网络爬虫的实现技术教师通过PPT的方式讲解网络爬虫的实现技术。 PHP Go C+ Java Python知识点4-Python实现网络
12、爬虫的流程教师通过PPT的方式讲解Python实现网络爬虫的流程。(1)抓取网页数据抓取网页数据是按照设定的目标,根据所有目标网页的URL向目标网站发送请求,并获得整个网页的数据。抓取网页数据的过程类似于用户在浏览器中键入网址,按回车后看到由浏览器渲染后的网页的过程。(2)解析网页数据黑马程序员www.itheima.m解析网页数据是采用不同的解析网页的方式从整个网页的数据中提取出目标数据。例如,我们想要采集所有苹果手机的价格信息,价格便是提取的目标数据。解析网页数据的过程类似于从浏览器显示页面中找到目标标签的文本,然后将文本复制下来的过程。(3)存储网页数据储网页数据的过程也是比较简单,就是
13、将上一步骤中提取的目标数据以文件的形式存放到本地,也可以存储到数据库,方便后期对数据进行深入地研究。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。教学后记黑马程序员传智教育南下高端IT教育品牌黑马程序员Python网络底女基础教程教学设计课程名称:授课年级:教师袅名:黑马程序员传智教育南下高端IT教育品牌课题名称第2章网页请求原理计戈IJ课时4课时教学引入网络爬虫请求网页的过程可以理解为用户使用浏览器,过程中浏览器向网站服务器发送请求,网站服务器响应请来。因此,了解浏览器与服务器之间的
14、通信方式和交互过结构、分类、数据格式,能进一步加深对网络爬虫的理解。理的相关知识进行讲解。加载网页的过程,在这一R后将网页源代码传送回程,理解网页开发技术、本章将针对网页请求原教学目标 使学生了解浏览器加载网页的过程,能够复述出浏览器加载网页的过程 使学生熟悉HTTP的基本原理,能够归纳URL格式、HTTP请求格式和HTTP响应格式 使学生熟悉网页基础,能够区分HTML、JaVaSCriPt和CSS三者的区别 使学生掌握HTTP抓包工具Fiddler的使用,能够独立安装并使用Fiddler工具教学重点 FiddIer的下载与安装 Fiddler界面详解 Fiddler捕获HTTPS页面的设置
15、Fiddler的基本使用教学难点Fiddler的基本使用教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(浏览器加载网页的过程、URL简介、HTTP和HTTPS、HTTP请求格式、HTTP响应格式)二、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。三、通过直接导入的方式导入新课在第1章,我们学习了什么是网络爬虫以及网络爬虫的基本实现流程,对于网络爬虫而言抓取的数据都在网页中,因此理解网页的相关内容是非常有必要的。接下来,本节将对浏览器加载网页的完成过程、URL简介、HTPP和HTTPS、HTTP请求格式、HTTP响应格式进行讲解。二、新课讲
16、解知识点I-浏览器加载网页的过程教师通过PPT的方式讲解浏览器加载网页的过程。(I)浏览器通过DNS(DomainNameSystem,域名系统)服务器查找百度服务器对应的IP地址。(2)浏览器向IP地址对应的Web服务器发送HTTP请求。(3)Web服务器接收HTTP请求后进行处理,向浏览器返回HTML页面。(4)浏览器对HTML页面进行渲染呈现给用户。知识点2-URL简介教师通过PPT的方式讲解URL简介。(1)熟悉URL的概念。黑马程序员www.itheima.m(2)熟悉URL的语法格式。教师通过PPT的方式讲解URL的概念。URL(全称UniformResourceLocator)又
17、称URL地址,表示统一资源定位符,它用于指定因特网上某个资源的位置。教师通过PPT的方式讲解URL的语法格式。URL的语法格式如下。scheme:/user:password0host:port/path;params?query#frag scheme:表示方案,用于标识采用哪种传输协议访问服务器资源 user:表示用户,用于标识采用某些方案访问资源时需要使用的用户名 password:表示密码,用户名后面可能要包含的密码,中间以冒号分隔 host:表示主机地址,也就是存放资源的服务器主机名或IP地址 port:表示端口,也就是存放资源的服务器监听的端口号 path:用于指定本次请求资源在服
18、务器中的位置 params:表示访问资源时使用的协议参数,参数之间以;分隔 query:表示查询字符串,用于指定查询的资源,一般使用?与URL的其余部分进行分隔。查询字符串没有通用格式,它通常会以&多个参数,每个参数的名称与值使用=进行连接。 frag:表示片段,用于指定访问资源时某一部分资源的名称。知识点3-HTTP和HTTPS教师通过PPT的方式讲解HTTP和HTTPSe(1)熟悉HTTP的概念。(2)熟悉HTTPS的概念。教师通过PPT的方式讲解HTTP的概念。HTTP协议全称为超文本传输协议(HypertextTransferProtocol),它用于将Web服务器的超文本资源传送到浏
19、览器中.HTTP协议能够高效准确的传送超文本资源,但浏览器与Web服务器的连接是一种一次性连接,它限制每次连接只处理一个请求,这意味着每个请求都是独立的,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。教师通过PPT的方式讲解HTTPS的概念。HTTPS协议全称为超文本传输安全协议(HypertextTransferProtocolSecure),该协议是基于HTTP协议基础上添加了SSL(SecureSocketsLayer安全套接字协议),数据在传输过程中主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。知识点4-HTTP请求格
20、式教师通过PPT的方式讲解HTTP请求格式。(1)熟悉HTTP请求的概念。(2)熟悉HTTP请求的格式。(3)熟悉请求行。(4)熟悉请求头。教师通过PPT的方式讲解HTTP请求的概念。一次HTTP通信的过程包括HTTP请求和HTTP响应,其中HTTP请求是指从浏览器到服务器端的请求信息。教师通过PPT的方式讲解HTTP请求的格式。HTTP请求由请求行、请求头部、空行、以及请求数据(有的也称为请求体)这四个部分组成,如下图所示。教师通过PPT的方式讲解请求行。请求行的格式如下所示。GETitemPython407313HTTP/1.1在请求行中,GET表示向服务器请求网络资源时所使用的请求方法,
21、itemPython407313表示请求的URL地址,HTTP/1.1表示使用的HTTP协议版本。教师通过PPT的方式讲解请求头。(1) HostHOSt用于指定被请求资源的服务器主机名和端口号。(2) User-AgentUSer-Agent用于标识客户端身份,通常页面会根据不同的User-Agent信息自动做出适配,甚至返回不同的响应内容。(3) AcceptACCePt用于指定浏览器或其他客户端可以接受的MlME(MultipurposeInternetMailExtensions,多用途互联网邮件扩展)文件类型,服务器可以根据该字段判断并返回适当的文件格式。(4) RefererRef
22、erer用于标识当前请求页面的来源页面地址,即表示当前页面是通过此来源页面里的链接进入的。(5) Accept-CharsetACCePt-Charset用于指定浏览器可以接受的字符集类型,在早期版本的HTTP/1.1协议中,规定了一个默认的字符集(ISO-8859),但目前每一种内容类型都有自己的默认字符集。(6) CookieCookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现模拟登录。(7) Content-TypeContent-TyPe也叫互联网媒体类型(IntemetMediaTyPe)或者MIME类型,用于告知服务器PoST请求或PUT请求中
23、的数据类型信息。知识点5-HTTP响应格式教师通过PPT的方式讲解HTTP响应格式。(1)熟悉HTTP响应的格式。(2)熟悉状态行的组成。(3)熟悉响应头信息。(4)熟悉响应正文。教师通过PPT的方式讲解HTTP响应的格式。服务器端发送给客户端的响应信息由4个部分组成,分别是状态行、响应头、空行、以及响应正文,具体如下图所示。版本空格状态码空格序因短语回车符换行符状态行头部字段名I:值回车符换行符响应头.头部字段名:值回车符换行符回车符换行符响应正文响应正文教师通过PPT的方式讲解状态行的组成。状态行的格式如下所示。HTTP/1.1200OK在状态行中,HTTP/1.1表示HTTP协议的版本号
24、,200表示响应状态码,OK表示响应状态码的简短描述。教师通过PPT的方式讲解响应头信息。(1) Cache-Control:must-revalidate,no-cache,privateCaChe-COntrOl表示服务端告知客户端(浏览器)当前的HTTP响应是否可以缓存,当取值为must-revalidate表示在一个缓存过期之后,不能直接使用这个过期的缓存,必须检验之后才能使用;当取值为no-cache表示客户端可以缓存资源,每次使用缓存资源前都必须重新验证其有效性;当取值为private表示响应只能被单个用户缓存,不能作为共享缓存。(2) Connection:keep-alive,
25、closedConnection表示客户端是否使用持久HTTP连接,当取值为keep-alive表示使用持久连接;当取值为closed表示不使用持久连接。(3) Content-Encodingrgzip,compress,identityContent-Encoding表示服务端对特定媒体类型的数据进行压缩,当取值为gzip表示采用Lempel-Ziv压缩算法;当取值为compress表示采用Lempel-Ziv-Welch算法;当取值为identity表示数据未经压缩或修改。(4) Content-Type:text/html;charset=UTF-8Content-Type表示服务端告
26、知客户端实际返回的内容的内容类型,当取值为text/html;charset=UTF-8表示服务端返回资源文件的类型为text/html,字符编码格式为UTF-8“教师通过PPT的方式讲解响应正文。响应正文是服务器返回的具体数据,常见的数据是HTML文档。浏览器在接收到HTTP响应后,会根据响应正文的不同类型进行不同的处理。对于IE浏览器来说,如果响应正文是DOC文档,这时浏览器会借助安装在本机的Word程序打开这份文档;如果响应正文是RAR压缩文档,这时浏览器会弹出一个下载窗口让用户下载;如果响应正文是HTML文档,这时浏览器会在自身的窗口中展示该文档。三、归纳总结教师回顾本节课所讲的内容,
27、并通过测试题的方式引导学生解答问题并给予指四、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。黑马程序员传智教育南下高端IT教育品牌第二课时(网页开发技术、网页的结构、网页的分类、网页数据的格式)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、教师通过直接导入的方式导入新课网页可以看作承载各种网站应用和信息的容器,它包含文字、图像、超链接、音频、视频以及动画等内容。网络爬虫抓取的数据主要存在网页中,接下来,本节课将讲解网页开发技术、网页的结构、网页的分类和网页数据的格式。四、新课讲解知识点I-网页开发技术教师通过PPT的方式讲解网页开发
28、技术。(1)熟悉什么是HTML。(2)熟悉什么是CSS。(3)熟悉什么是JaVaSCript。教师通过PPT的方式讲解什么是HTML0HTML的英文全称HyperTextMarkupLanguage,即超文本标记语言,是一种用于创建网页的标准标记语言。一个HTML文档由一系列的HTML元素组成,HTML元素的组成如下图所示。*hl今天天气真好!hl,L*教师通过PPT的方式讲解什么是CSSoCSS(CascadingStyleSheets)全称为层叠样式表,它用于更改HTML页面中内容的字体、颜色、大小、间距或者添加动画及其他的效果。教师通过PPT的方式讲解什么是JavaScriptoJava
29、Script是一门独立的网页脚本编程语言,它主要用于向HTML网页中添加交互行为。知识点2-网页的结构教师通过PPT的方式讲解网页结构。(1)熟悉如何查看网页源代码。(2)熟悉HTMLD0M标准。教师通过PPT的方式讲解如何查看网页源代码。如果想要了解一个网页的结构,我们可以直接在浏览器打开的右键菜单中选择“检查”选项。教师通过PPT的方式讲解HTMLDOM标准。根据万维网联盟(WorldwideWebConsortium,简称W3C)的HTMLDoM标准,HTMLDOM由节点组成,HTML文档的所有内容都是节点,整个HTML文档是一个文档节点,每个HTML元素是元素节点,每个HTML属性是属
30、性节点,每个注释是注释节点。把一个HTML文档中的所有节点组织在一起,就构成了一棵HTMLDOM树,这些节点之间存在层级关系,HTMLDOM节点树如下图。黑马程序员www.itheima.m知识点挈网页的分类教师通过PPT的方式讲解网页分类(1)熟悉什么是静态网页。(2)熟悉什么是动态网页。教师通过PPT的方式讲解静态网页。静态网页是纯粹HTML格式的网页,它是一个标准的HTML文件,文件的扩展名为.htm、html静态网页可以包含文本、图像、声音、FLASH动画、超链接等内容,这些内容在编写网页源代码时己经确定,基本上不会发生变化,除非网页源代码被重新修改。教师通过PPT的方式讲解动态网页。
31、动态网页相比静态网页,动态网页有数据库支撑、包含程序以及提供与用户交互功能,比如用户登录、用户注册、信息查询等功能,这些功能根据用户传入不同参数网页会显示不同数据。知识点4-网页数据的格式教师通过PPT的方式讲解网页数据格式。(1)熟悉网页数据格式的分类。(2)熟悉XML的概念及特点。(3)熟悉JSoN的概念及特点。教师通过PPT的方式讲解网页数据格式的分类。(1)非结构化数据是指数据结构不规则或不完整,没有预定义的数据模型,不方便使用数据库二维表结构表现的数据,包括文本、图片、HTML等。(2)结构化数据就是能够用二维表结构表现的数据,这种数据严格遵循数据格式与长度规范,包括JSoN和XML
32、等。教师通过PPT的方式讲解XML的概念及特点.(1) XML的概念XML是ExtensibleMarkupLanguage的缩写,它是一种类似于HTML的标记语言,称为可扩展标记语言。可扩展指的是用户可以按照XML规则自定义标记。(2) XML的特点XML片段如下图所示。BillGatesSteveJobsElonMusk XML元素由开始标记和结束标记组成,必须是成对出现的。 (employees元素是整个XML片段的根元素,它包含了3个employee子元素。 每个employee元素又包含了、共2个子元素。教师通过PPT的方式讲解JSON的概念及特点。(1) JSON的概念JSON(J
33、avaScriptObjectNotation)是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式存储和表示数据。(2) JSON的特点JSON片段如下图所示。employees:(,firstName,:Bill,znIastNamen:nGatesn,(nfirStName,:Steve”,nIastNamen:nJobsn,(nfirstName:Elon,nIastNamen:Musk”) 花括号用于容纳JSON对象,方括号用于容纳数组。 JSON数据写为名称/值对,格式为“名称:值”。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、
34、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预黑马程序员www.itheima.m习作业。第三课时(Fiddler的工作原理、FiddIer的下载与安装、Fiddler界面详解、Fiddler捕获HTTPS页面的设置、Fiddler的基本使用)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、教师通过直接导入的方式导入新课上节课主要讲解了网页开发技术、网页的结构、网页的分类、网页数据格式,接卜来,本节课将讲解Fiddler的工作原理、FiddIer的下载与安装、FiddIer捕获HTTPS页面的设置、FiddIer的基本使用。五、新课讲解知识点
35、I-FiddIer的工作原理教师通过PPT的方式讲解Fiddler的工作原理。(1) 了解什么是Fiddlero(2)掌握FiddIer的工作原理。教师通过PPT的方式讲解什么是FiddleroFiddler是一个HTTP协议调试代理工具,它能够记录客户端和服务器之间的所有HTTP请求,支持对网络传输过程中发送与接收的数据包进行截获、重发、编辑、转存等操作。教师通过PPT的方式讲解Fiddler的工作原理。Fiddler是以代理服务器的形式工作,它会在浏览器和Web服务器之间建立代理服务器,这个代理服务器默认使用的代理地址为127.001,端口为8888o当Fiddler启动时会自动设置代理,
36、退出时会自动注销代理,这样就不会影响其他程序。FiddIer的工作原理如下图所示。浏览器Addl”代理服务器WebIS务器知识点2-Fiddler的下载与安装教师通过PPT的方式讲解Fiddler的下载与安装。Fiddler的下载与安装的步骤如下。(1)访问Fiddler官网。(2)选择FiddIereIaSSiC并进入下载页面。(3)在下载页面单击DownloadNow按钮下载FiddIerSetup.exe0(4)双击FiddlerSetup.exe按照提示进行安装。(5)选择安装路径,其余保持默认配置。知识点3-Fiddler界面详解教师通过PPT的方式讲解Fiddler界面详解。启动F
37、iddler程序,选中Fiddler操作界面左侧的第一条信息后,此时FiddlerFiddIer操作界面包含菜单栏、工具栏、会话窗口、ReqileSt窗口、ReSPOnSe窗口、命令行窗口和状态栏共7个区域。其中会话窗口只展示了所有的采用HTTP协议的会话(代表浏览器与服务器的通讯过程,过程中会产生多个HTTP请求和HTTP响应)列表,并选中了列表中的第一条会话;ReqUeSt窗口和ReSPonSe窗口展示了该会话的详细信息。FiddIer工具栏中图标的功能说明如下表所示。图标说明作用Q备注为当前会话添加备注Replay回放可以再次发送某个请求X清除界面信息清除会话窗口列表的全部或部分请求Go
38、bug调试单击该按钮可继续执行断点后的代码*Stream模式切换切换FiddIer的工作模式(默认是缓冲模式)瞬DeCOde解压请求对HTTP请求的内容进行解压Keep.Allsesswns会话保存设置保存会话的数量(默认是保存所有)金AnyProcess过滤请求设置只捕获某一客户端发送的请求,拖曳该图标到该客户端的任意一个请求后会创建一个过滤器,右击该图标会清除之前设置的过滤器匏Rnd查找查找特定内容网SaVe会话保存将所有会话保存到SAZ文件中阚截取屏幕既可以立即截取屏幕,也可以计时后截取屏幕计时器具备计时功能卷Browse浏览器启动浏览器,若选中某个会话,则可以使用IE浏览器或Chrom
39、e浏览器打开该会话OearCache清除缓存清空WinlNET缓存。按住Clrl键并单击该按钮还会清除WinINET中保存的永久CookieTexiWizard编码和解码对文本进行编码和解码Tearoff窗体分离将一个窗体分离显示65黑萨序员WWW.thema.m专智教育南下京端IT教育品牌一样的教育,不一样的品质Onbne显示系统状态显示当前系统处于在线状态还是离线状态。如果是在线状态,将鼠标指针悬停在该按钮上方时会显示本地主机名和IP地址X删除工具栏删除工具栏(如果要恢复工具栏,则可以在菜单栏中选择“ViewTShowBar)话窗口列表各项信息的功能说明如下表所示。名称功能说明#Fiddl
40、er生成的IDResult响应的状态码Protocol当前会话使用的协议Host接收请求的服务器、主机名和端口号URL请求的URL路径、文件和查询字符串Body响应体中包含的字节数Caching响应头中Expires和Cache-ControlContent-Type响应中Content-Type的值Proecess对应本地Windows的进程Comments通过工具栏Comment按钮设置的注释信息CustomFiddlerScript所设置的Ui-CustomColumn标志位的值会话窗口中常见图标的功能说明如下所示。图标功能说明E通用的成功响应吕请求使用CONNECT方法,使用该方法构建
41、传送加密的HTTPS数据流通道响应是JSON文件响应状态是HTTP/304,表示客户端缓存的副本已经是最新的响应的是脚本格式请求使用POST方法向服务器发送数据国响应的是图像文件0会话被客户端、Fiddler或服务器中止c三s响应的是CSS文件响应的是XML文件A响应的是服务器错误S响应状态码为300、301、302、303或307Inspectors选项下各菜单的功能说明如下所示。名称功能说明Headers用分级视图显示由客户端发送到服务器的HTTP请求的请求头信息,包括客户端信息、CoOkie、传输状态等TextView以文本的形式显示POST请求的请求数据WebForms显示GET请求的
42、UrI参数或POST请求的请求数据HexView用十六进制数据显示请求Auth显示响应头中的PrOXy-AUIhOrizaIion(代理身份验证)和Authorization(授权)信息窗)黑马程序员www.itheima.m传智教育南下高端IT教育品牌一样的教育,不一样的品质Raw将整个请求显示为纯文本JSON显示JSON格式的文件XML将选中的请求和响应解释成一个XML格式的字符串,显示XML文档节点的树形图Response窗口中各菜单的功能说明如下所示。名称功能说明Transformer显示响应的编码信息Headers用分级视图显示响应头信息TextView以文本的形式显示响应数据Syn
43、taxView根据多个指定规则高亮显示多种类型的请求文本和响应文本ImageView如果请求的是图片资源,则显示响应的图片HexView用十六进制数据显示响应WebView显示响应在Web浏览器中的预览效果Auth显示响应头部中的Proxy-Authorization和AUthOriZation信息Caching显示本次请求的缓存信息Cookies显示任何发送出去的请求的Cookies中的内容Raw将整个响应显示为纯文本JSON显示JSON格式的文件XML如果响应体是XML格式,就用分级的XML树来显示它知识点4-Fiddler捕获HTTPS页面的设置教师通过PPT的方式讲解Fiddler捕获HTPS页面的设置。(1)选择OPtiOnS对话框:Tool-Options0(2)选择HTTPS选项卡:Options-HTTPS(3)对HTTPS通信解密:HTTPSoDecryptHTTPStraffic,(4)忽略服务器证书错误:DecryptHTTPStraffic-lgnoreservercertificateerrors(unsafe)。(5)解决安全警告:HTTPS-Actions-TrustRootCertificate。(6)设置允许远程连接:Options-Connections-Allowre