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