Python网络爬虫基础教程教学设计.docx
黑马程序员传智教育南下高端IT教育品牌黑马程序员Python网络底女基础教程教学设计课程名称:授课年级:授课学期:教师袅名:课题名称第1章认识网络爬虫计划课时2课时教学引入随着网络的蓬勃发展,万维网成为大量信息的载体,如何有效提取并利用这些信息成为一个巨大的挑战。网络爬虫作为一种自动采集数据技术,它凭借自身强大的自动提取网页数据的能力,成为当下万维网收集数据高效灵活的解决方案之一。本章主要对网络爬虫的基础知识进行详细地讲解。教学目标 使学生熟悉网络爬虫的概念及分类,能够归纳通用网络爬虫和聚焦网络爬虫的区别 使学生了解网络爬虫的应用场景,能够列举至少3个网络爬虫的应用场景 使学生熟悉网络爬虫的Robots协议,能够说明robots.txt文件中每个选项的含义 使学生熟悉防网络爬虫的应对策略,能够列举至少3个应对防网络爬虫的策略 使学生掌握网络爬虫的工作原理,能够定义通用爬虫和聚焦爬虫的工作原理 使学生熟悉网络爬虫抓取网页的流程,能够归纳网络爬虫抓取网页的完整流程 使学生了解网络爬虫的实现技术,能够说出使用Python实现网络爬虫有哪些优势 使学生熟悉网络爬虫的实现流程,能够归纳使用Python实现网络爬虫的流程教学重点 网络爬虫的工作原理 网络爬虫抓取网页的流程 Python实现网络爬虫的流程教学难点无教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(什么是网络爬虫、网络爬虫的应用场景、RObotS协议、防爬虫应对策略)一、教师通过直接导入的方式导入新课教师首先讲解网络爬虫的概念,其次讲解网络爬虫历经几十年的发展,衍生出的爬虫类型,了解了什么是网络爬虫,然后讲解网络爬虫的应用场景,最后讲解RObOtS协议以及防爬虫对应策略。二、新课讲解知识点I-什么是网络爬虫教师通过PPT的方式讲解什么是网络爬虫。(1)熟悉网络爬虫的概念。(2)熟悉网络爬虫的分类。教师通过PPT的方式讲解网络爬虫的概念。网络爬虫(WebCrawler)又称网络蜘蛛、网络机器人,它是一种按照一定规则,自动浏览万维网的程序或脚本。通俗地讲,网络爬虫就是一个模拟真人浏览万维网行为的程序,这个程序可以代替真人自动请求万维网,并接收从万©黑马程序员www.itheima.m维网返回的数据0与真人浏览互联网相比,网络爬虫能够获取的信息量更大,效率也更高。教师通过PPT的方式讲解网络爬虫的分类。(1)通用网络爬虫(GeneralPurposeWebCrawler)又称全网爬虫(ScalableWebCrawler),是指访问全互联网资源的网络爬虫。通用网络爬虫是互联网早期出现的传统网络爬虫,它是搜索引擎(如百度、谷歌、雅虎等)抓取系统的重要组成部分,主要用于将互联网中的网页下载到本地,形成一个互联网内容的镜像备份。(2)聚焦网络爬虫(FocusedCraWler)又称主题网络爬虫(TopicalCrawler),是指选择性地访问那些与预先定义好的主题相关网页的网络爬虫,它根据预先定义好的目标,有选择性地访问与目标主题相关的网页,获取所需要的数据。(3)增量式网络爬虫(IncrementalWebCrawler)是指对已下载的网页采取增量式更新,只爬行新产生或者己经发生变化的网页的爬虫。(4)深层网络爬虫(DeePWebCraWIer)是指爬行深层网页的网络爬虫,它要爬行的网页层次比较深,需要通过一定的附加策略才能够自动爬行,实现难度稍微大一些。知识点2网络爬虫的应用场景教师通过PPT的方式讲解网络爬虫的应用场景。(1)搜索引擎(2)舆情分析与监测(3)聚合平台(4)出行类软件知识点3-Robots协议教师通过PPT的方式讲解Robots协议。(1)RobotS协议又称爬虫协议,它是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息,确保网站用户的个人信息和隐私不受侵犯。(2)网站管理员通常会在网站的根目录下放置一个符合Robots协议的robots.txt文件,通过这个文件告知网络爬虫在抓取该网站时存在哪些限制,哪些网页是允许被抓取的,哪些网页是禁止被抓取的。知识点4.防爬虫应对策略教师通过PPT的方式讲解防爬虫应用策略。(1)添加User-Agent字段浏览器在访问网站时会携带固定的USer-Agent(用户代理,用于描述浏览器的类型及版本、操作系统及版本、浏览器插件、浏览器语言等信息),这么做的目的是向网站表明自己的真实身份。(2)降低访问频率如果同一账户在较短的时间内多次访问了网页,那么网站运维人员会推断此种访问行为可能是网络爬虫的行为,并将该账户加入到黑名单禁止访问网站。为防止网站运维人员从访问量上认出网络爬虫的身份,我们可以降低网络爬虫访问网站的频率0(3)设置代理服务器网络爬虫在访问网站时,若反复使用同一IP地址进行访问,极易被网站认出网络爬虫的身份后进行屏蔽、阻止、封禁等操作,此时便可以在网络爬虫和Web服务器之间设置代理服务器。(4)识别验证码有些网站在检测到某个客户端的IP地址访问次数过于频繁时,有时会要求该客户端进行登录验证,并随机提供一个验证码,此时为了应对这种突发情况,网络爬虫除了要输入正确的账户密码之外,还要像人类一样通过滑动或点击行为识别验证码,如此才能继续访问网站。三、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。四、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第二课时(网络爬虫的工作原理、网络爬虫抓取网页的流程、网络爬虫的实现技术、PYthOIl实现网络爬虫的流程)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、教师通过直接导入的方式导入新课互联网中有多种网络爬虫,尽管这些网络爬虫的使用场景不同,但它们的工作原理大同小异。接下来,本节课将讲解网络爬虫的工作原理、网络爬虫的工作流程、网络爬虫的实现技术和Python实现网络爬虫的流程。三、新课讲解知识点网络爬虫的工作原理教师通过PPT的方式讲解学习目标。(1)通用网络爬虫的工作原理。(2)聚焦网络爬虫的工作原理。教师通过PPT的方式讲解通用网络爬虫的工作原理。通用网络爬虫的采集目标是整个互联网上的所有网页,它会先从一个或多个初始URL开始,获取初始URL对应的网页数据,并不断从该网页数据中抽取新的URL放到队列中,直至湎足一定的条件后停止,如下图所示。教师通过PPT的方式讲解聚焦网络爬虫的工作原理。聚焦网络爬虫会根据一定的网页分析算法对网页进行筛选,保留与主题有关的网页链接,舍弃与主题无关的网页链接,目的性更强,如下图所示。知识点2-网络爬虫抓取网页的流程教师通过PPT的方式讲解网络爬虫抓取网页的流程虽然通用网络爬虫和聚焦网络爬虫的工作原理有一些差别,但它们抓取网页的流程是相似的,如下图所示。关于上图工作流程的介绍如下。(1)精心选择一些网页,将这些网页的链接作为种子URL。(2)将种子URL放入到待抓取URL队列中。(3)从待抓取URL队列中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器所对应的IP地址。(4)将IP地址和网页相对路径名称交给网页下载器,网页下载器负责网页内容的下载。(5)网页下载器将相应网页的内容下载到本地。(6)将下载到本地的网页存储到页面库中,等待建立索引等后续处理;与此同时将下载过网页的URL放入到已抓取URL队列中,这个队列记载了网络爬虫己经下载过的网页URL,以避免网页的重复抓取。(7)对于刚刚下载的网页,从中抽取出所包含的所有链接信息,并在己抓取URL中检查其是否被抓取过,如果还未被抓取过,则将这个URL放入到待抓取URL队列中。(8)下载待抓取URL队列中的URL对应的网页,如此重复(3)(7),直到待抓取URL队列为空。知识点3-网络爬虫的实现技术教师通过PPT的方式讲解网络爬虫的实现技术。 PHP Go C+ Java Python知识点4-Python实现网络爬虫的流程教师通过PPT的方式讲解Python实现网络爬虫的流程。(1)抓取网页数据抓取网页数据是按照设定的目标,根据所有目标网页的URL向目标网站发送请求,并获得整个网页的数据。抓取网页数据的过程类似于用户在浏览器中键入网址,按回车后看到由浏览器渲染后的网页的过程。(2)解析网页数据©黑马程序员www.itheima.m解析网页数据是采用不同的解析网页的方式从整个网页的数据中提取出目标数据。例如,我们想要采集所有苹果手机的价格信息,价格便是提取的目标数据。解析网页数据的过程类似于从浏览器显示页面中找到目标标签的文本,然后将文本复制下来的过程。(3)存储网页数据储网页数据的过程也是比较简单,就是将上一步骤中提取的目标数据以文件的形式存放到本地,也可以存储到数据库,方便后期对数据进行深入地研究。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。教学后记黑马程序员传智教育南下高端IT教育品牌黑马程序员Python网络底女基础教程教学设计课程名称:授课年级:教师袅名:黑马程序员传智教育南下高端IT教育品牌课题名称第2章网页请求原理计戈IJ课时4课时教学引入网络爬虫请求网页的过程可以理解为用户使用浏览器,过程中浏览器向网站服务器发送请求,网站服务器响应请来。因此,了解浏览器与服务器之间的通信方式和交互过结构、分类、数据格式,能进一步加深对网络爬虫的理解。理的相关知识进行讲解。加载网页的过程,在这一R后将网页源代码传送回程,理解网页开发技术、本章将针对网页请求原教学目标 使学生了解浏览器加载网页的过程,能够复述出浏览器加载网页的过程 使学生熟悉HTTP的基本原理,能够归纳URL格式、HTTP请求格式和HTTP响应格式 使学生熟悉网页基础,能够区分HTML、JaVaSCriPt和CSS三者的区别 使学生掌握HTTP抓包工具Fiddler的使用,能够独立安装并使用Fiddler工具教学重点 FiddIer的下载与安装 Fiddler界面详解 Fiddler捕获HTTPS页面的设置 Fiddler的基本使用教学难点Fiddler的基本使用教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(浏览器加载网页的过程、URL简介、HTTP和HTTPS、HTTP请求格式、HTTP响应格式)二、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。三、通过直接导入的方式导入新课在第1章,我们学习了什么是网络爬虫以及网络爬虫的基本实现流程,对于网络爬虫而言抓取的数据都在网页中,因此理解网页的相关内容是非常有必要的。接下来,本节将对浏览器加载网页的完成过程、URL简介、HTPP和HTTPS、HTTP请求格式、HTTP响应格式进行讲解。二、新课讲解知识点I-浏览器加载网页的过程教师通过PPT的方式讲解浏览器加载网页的过程。(I)浏览器通过DNS(DomainNameSystem,域名系统)服务器查找百度服务器