Python网络爬虫项目实战教学教案46.docx
《Python网络爬虫项目实战教学教案46.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫项目实战教学教案46.docx(49页珍藏版)》请在课桌文档上搜索。
1、课题名称项目一初识爬虫计划学时4学时内容分析现阶段,互联网已经成为人们搜寻信息的重要来源,人们习,据关键字查找自己感兴趣的网站,那么搜索引擎是如何找自实,搜索引擎使用了网络爬虫不停地从互联网抓取网站数据在本地,这才能为大众提供信息检索的功能。网络爬虫技术经历了相当长时间的发展,用途也越来越广泛都在使用爬虫之外,其它公司和个人也可以编写爬虫程序获深入地了解通用爬虫和聚焦爬虫,具体包括爬虫的实现原J网页的请求原理惯于从搜索引擎上根回这些网站的呢?其,并将网站镜像保存,除了各大搜索引擎取自己想要的数据。里和相关技术,了解教学目标及基木要求1、了解爬虫产生的背景2、知道什么是爬虫3、了解爬虫的用途4、
2、熟悉不同维度下网络爬虫的几种类型5、掌握通用爬虫和聚焦爬虫的工作原理6、熟悉爬虫抓取网页的流程7、了解通用爬虫的网页分类,8、了解爬虫要遵守的协议,及智能抓取更新网页的文件9、熟悉防爬虫的一些应对策略10、 了解使用Python语言做爬虫的优势11、 掌握基于HTTP协议的请求原理教学重点1、知道什么是爬虫2、熟悉不同维度下网络爬虫的几种类型3、掌握通用爬虫和聚焦爬虫的工作原理4、熟悉爬虫抓取网页的流程5、掌握基于HTTP协议的请求原理6、掌握客户端HTTP请求格式7、掌握服务端HTTP响应格式教学难点1、掌握客户端HTTP请求格式2、掌握服务端HTTP响应格式教学方式教学采用教师课堂讲授为主
3、,使用教学PPT讲解教学过程第一课时(爬虫产生背景,什么是爬虫,爬虫的用途,爬虫的分类)一、创设情境,导入爬虫新概念(I)教师通过提问学生问题,引出网络爬虫技术。教师提问学生问题,例如问题是:大家知道哪些搜索引擎?它们如何找到网站的呢?教师进行总结:搜索引擎使用了网络爬虫不停地从互联网抓取网站数据,并将网站镜像保存在本地,这才能为大众提供信息检索的功能。(2)什么是网络爬虫?网络爬虫,又称为网页蜘蛛、网络机器人,是一种按照一定的规则,自动请求万维网网站并提取网络数据的程序或脚本。(3)明确本节课的学习目标,让学生带着目标去听课。 要求学生知道什么是爬虫 要求学生了解爬虫的用途 要求学生熟悉爬虫
4、的分类二、进行重点知识的讲解(1)教师根据课件,讲述爬虫产生的背景。无论是搜索引擎,还是个人或单位获取目标数据,都需要从公开网站上爬取大量数据,在此需求下,爬虫技术应运而生,并迅速发展成为一门成熟的技术。(2)教师通过举例,讲述网络爬虫具体能够做什么。例如,推销一些理财产品时,利用爬虫从网站中能找到一些目标客户的联系方式;再例如,利用网络爬虫过滤网页上的广告信息;例如,购买商品时利用爬虫统计畅销品牌和性价比等。(3)教师根据课件,总结使用网络爬虫的好处。从互联网中采集信息是一项重要的工作,如果单纯地靠人力进行信息采集,不仅低效繁琐,而且花费成本高。爬虫的出现在一定的程度上代替了手工访问网页,能
5、够实现自动化采集互联网的数据,以更高地效率去利用互联网中的有效信息。(4)教师根据课件,讲解不同维度下爬虫的分类。按照使用场景,可将爬虫分为通用网络爬虫和聚焦网络爬虫;按照爬取形式,可分为累积式和增量式网络爬虫;按照爬取数据的存在方式,可分为表层爬虫和深层爬虫。三、归纳总结,布置作业/随堂练习(1)回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括什么是爬虫、爬虫的用途,以及爬虫的分类,并对学生的回答进行补充和总结。(2)教师安排学生课上完成章节课后习题,并针对一些难以理解的题目进行讲解。第二课时(通用爬虫工作原理,聚焦爬虫工作原理)一、创设情境,导
6、入通用爬虫的工作原理(1)教师通过提问学生问题,引出通用爬虫。教师提问学生问题,例如问题是:按使用场景爬虫主要有哪儿种?什么是通用爬虫?教师根据学生的回答进行总结:通用网络爬虫是搜索引擎抓取系统的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。(2)教师根据课件,讲述通用爬虫的工作原理。通用爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。(3)明确学习目标要求学生理解通用爬虫的工作原理要求学生理解聚焦爬虫的工作原理二、进行重点知识的讲解(1)教师通过提问学生问
7、题,引出通用爬虫的使用场景。教师提问学生问题,例如问题是:大家知道哪些搜索引擎呢?教师根据学生的回答进行总结:搜索引擎是通用爬虫的最重要应用领域,也是大家使用网络功能时的最大助手。(2)教师根据课件,讲述搜索引擎的工作流程。搜索引擎使用通用爬虫来抓取网页,其基本工作流程与其他爬虫类似。在爬取到网页后,将数据存入原始页面数据库,其中的页面数据与用户浏览器得到的HTML是完全一样的;搜索引擎将爬虫抓取回来的页面,进行各种步骤的预处理;提供检索服务,网站排名。(3)什么是聚焦爬虫?聚焦爬虫,又称主题网络爬虫,是指选择性地爬取那些与预先定义好的主题相关的页面的网络爬虫。(4)与通用爬虫相比,聚焦爬虫适
8、合什么使用场景?和通用爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,从而极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。(5)教师根据课件,讲述聚焦爬虫的工作原理。与通用爬虫相比,聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接,并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。(6)通过提问学生问题的形式,巩固学生对知识点的理解和认识。三、归纳总结,布置课后作业(1)回顾上课前的学习目标,并且对本
9、节课需要掌握的知识点进行总结。教师带领学生总结本节课的内容,包括通用爬虫和聚焦爬虫的工作原理。(2)布置随堂练习,检查学生掌握情况。给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。第三课时(爬虫抓取网页的详细流程,通用爬虫中网页的分类,robots.txt文件,Sitemap.xml文件)一、回顾上节课讲解的知识,继续讲解本节课的知识(1)教师讲解上一课时的课后作业。(2)回顾上节课所学习的知识,由上一课时的知识点引出本课时内容。教师提问学生问题,例如问题是:通用爬虫和聚焦爬虫的原理是什么?然后引出本节的知识点:本节课将介绍爬虫的流程及一些与爬虫相关的网站文件。(3)明确学
10、习目标要求学生熟悉网络爬虫抓取网页的流程要求学生了解通用爬虫的网页分类要求学生了解robots.txt和Sitemap.xml文件二、进行重点知识的讲解(I)教师根据课件,讲述爬虫抓取网页的详细流程。爬虫从待抓取URL队列中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器所对应的IP地址,交给网页下载器下载到本地;然后,记录已下载和未下载的URL,将已下载的网页放到已抓取URL队列中,将未下载的URL放入到待抓取URL队列中;下载被放入待抓取URL队列中的URL对应的网页,如此重复形成循环,直到待抓取URL队列为空。(2)教师根据课件,讲述通用爬虫的网页分类。据动态抓取过程中
11、的爬虫和互联网所有网页之间的关系,可以将互联网页面划分为5个部分:已下载网页集合、已过期网页集合、待下载网页集合、可知网页集合和不可知网页集合。(3)什么是robots.txt文件?网站通过一个符合Robots协议的robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。(4)教师根据课件,讲述robois.lxt文件的语法规则。robols.txt文件有着一套通用的语法规则,它使用#号进行注释,既可以包含一条记录,又可以包含多条记录,并且使用空行分开。(5)教师通过举例的形式,带领学生一起分析某个网站的roboisixt文件,以加深学生的认识。例如,获取京东网站的robot
12、s.IXt文件。如果硬件条件允许的情况下,教师可以通过实践演示操作。(6)教师根据课件,讲述SiIem叩.xml文件的作用。(7)在Sitemap.xml文件中,列出了网站中的网址及每个网址的其它元数据,比如上次更新的时间、更改的频率及相对于网站上其它网址的重要程度等,以便于爬虫可以更加智能地抓取网站。三、归纳总结,布置课后作业(1)回顾课前学习目标,对本节课的内容进行总结。教师带领学生总结本节课要掌握的内容:通用爬虫工作原理、聚焦爬虫工作原理,以及爬虫抓取网页的流程。(2)布置随堂练习,检查学生学习状况。给学生布置随堂练习,根据学生的完成情况,了解学习的学习理解状况,根据学生反映的问题,进行
13、解答。第四课时(浏览网页过程,HTTP请求原理)一、创设情境,引出浏览器浏览网页的过程(1)教师通过举例,讲述浏览器加载网页的过程。例如I,打开谷歌浏览器,在地址栏中输入百度的网址(2)教师根据课件中的流程图,讲述浏览网页的过程。浏览器通过DNS服务器查找域名对应的IP地址,然后向该IP地址对应的Web服务器发送请求,Web服务器响应请求,返回HTML页面,交由浏览器解析HTML内容,并显示出来。(3)明确学习目标要求学生熟悉浏览器显示网页的过程要求学生掌握客户端HTTP请求格式要求学生掌握服务端HTTP响应格式二、进行重点知识的讲解(1)什么是URL?URL(UniformResourceL
14、ocator,统一资源定位符)是互联网上标准资源的地址,互联网上每个文件(即资源)都有一个唯一的URL,它包含了文件的位置以及浏览器处理方式等信息。(2)教师根据课件,讲述URL的3个组成部分。URL地址由协议头、服务器地址、文件路径三部分组成。(3)教师根据课件,讲述计算机域名系统DNS的作用。域名服务器保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址的功能。(4)教师根据课件中的HTTP通信原理图,分析浏览器显示网页的过程。HTTP是一套计算机通过网络进行通信的规则,它由两部分组成:客户端请求消息和服务器端响应消息。(5)教师通过课件的示例,帮助大家认识请求消息的格式
15、。根据HTTP协议的规定,客户端发送一个HTTP请求到服务器的请求消息,由请求行、请求头部、空行、以及请求数据这四个部分组成。思考题和习题教学后(6)教师通过课件的示例,帮助大家认识响应消息的格式。HTTP响应由四个部分组成,分别是:状态行、响应报头、空行、以及响应正文。三、归纳总结,布置作业/随堂练习(1)回顾上课前的学习目标,并对本节课需要掌握的内容进行总结。教师总结本节课需要掌握的知识点,包括分析浏览器显示完整网页的过程、客户端HTTP请求格式和服务端HTTP响应格式。(2)布置随堂练习,检查学生的掌握情况。给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。课题名称项目
16、二爬取网站表层页面计划学时6学时内容分析基于爬虫的实现原理,我们进入爬虫的第一个阶段:抓取网页数据,即下载包含目标数据的网页。抓取网页需要通过爬虫向服务器发送一个HTTP请求,然后接收服务器返回的响应内容中的整个网页源代码。Python要想完成这个过程,既可以使用内置的urllib库,也可以使用第三方库requests。使用这两个库,我们在抓取网页数据的时候,就只需要关心请求的URL格式,以及要传递什么参数,要设置什么样的请求头,而不需要关心它们的底层是怎样实现的。教学目标及基本要求12、 了解什么是Urnib库13、 会使用urllib库爬取网页14、 掌握如何转换URL编码,可以使用GET
17、和POST两种方式实现数据传输15、 知道伪装浏览器的用途16、 掌握如何自定义OPener17、 了解服务器的超时18、 熟悉一些常见的网络异常19、 掌握requests库的使用教学重点8、会使用Urllib库爬取网页9、掌握如何转换URL编码,可以使用GET和PoST两种方式实现数据传输10知道伪装浏览器的用途11、掌握requests库的使用教学难点3、掌握如何自定义OPener教学方式教学采用教师课堂讲授为主,使用教学PPT讲解教学过程第一课时(什么是UrIlib库,快速使用UrIlib爬取网页)一、创设情境,导入UrlIib库(4)教师通过爬虫的原理,引出抓取网页数据。基于前面介绍
18、的爬虫的原理,我们需要根据一个初始的URL,发送网络请求到指定的服务器,去获取其对应的网络数据,这就是网络爬虫的第一个阶段:抓取网页数据。(5)什么是抓取网页数据?抓取网页需要通过爬虫向服务器发送一个HTTP请求,然后接收服务器返回的响应内容中的整个网页源代码。(6)教师通过课件,讲述PythOn提供的用于抓取网页数据的库。PythOn要想完成抓取网页数据的过程,既可以使用内置的UrHib库,也可以使用第三方库requestso(7)明确学习目标要求学生掌握UrlIib库的基本使用二、进行重点知识的讲解(7)什么是Urnib库?Urllib库是Python内置的HTTP请求库,它包含了4个模块
19、:Urnib.request、urllib.errorUHIib.parse、urllib.robotparsero(8)教师根据课件,讲述使用UrlIib库快速爬取一个网页,并通过代码进行演示。(9)教师根据课件的多学一招,讲述Python2与Python3中UrlIib的不同之处。Python2中使用的是Urllib2库来下载网页,Python3出现后,之前Python2中的urllib2库被移到了Urnib.request模块中,之前urllib2中很多函数的路径也发生了变化,希望大家在使用的时候多加注意。(10)教师根据课件,讲述urlopen方法的使用,并通过代码进行演示。(三)教师
20、根据课件,讲述HTTPReSPonSe对象的使用,并通过代码进行演示。使用urllib.request模块中的urlopen方法发送HTTP请求后,服务器返回的响应内容封装在一个HTTPResponse类型的对象中。(12) 教师根据课件,讲述构建ReqUeSt对象,并通过代码进行演示。当我们使用urlopen方法发送一个请求时,如果希望执行更为复杂的操作,比如增加HTTP报头,则必须创建一个Request对象来作为urlopen方法的参数。三、归纳总结,布置作业/随堂练习(3)回顾上课前的学习目标,并对本节课要掌握的内容进行总结。教师总结本节课需要掌握的知识点,包括urlopen方法的使用、
21、使用HTTPResponse对象和构建Request对象。(4)布置随堂练习,检查学生的掌握情况。给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。第二课时(URL编码转换,处理GET请求,处理PoST请求)一、回顾上节课的内容,继续讲解本课时的知识(1)教师对学生们的疑问进行统一答疑。(2)回顾总结上节课内容,继续介绍本课时的内容。上节课我们介绍了UHIib库的基本使用,接下来,本节课将继续深入地探讨Urnib库,学习如何使用urllib库发送GET或POST请求来传输数据。(3)明确学习目标 要求学生会转换URL编码 要求学生会处理GET请求和POST请求二、进行重点知识
22、的讲解(1)教师通过举例,讲述浏览器如何通过URL传递数据。例如,教师打开百度首页,在搜索框中输入新闻两个字,可以看到浏览器显示了带有搜索结果的网页。此时,再次查看这个网页的URL,发现这个网页的URL发生了变化,多了一些查询参数,这些就是要传递的数据。(2)为什么要转换URL编码?当我们传递的URL包含中文或者其它特殊字符(例如,空格或/等)时,需要使用Urllib.parse库中的UrIenCode方法将URL进行编码。(3)教师通过4.3.1的示例,讲述如何将URL进行编码转换,并通过示例代码进行演示。(4)教师通过举例,讲述GET请求的特点。例如,使用Fiddler抓包工具捕获搜索新闻
23、的网页后进行查看,发现这个请求是GET请求。GET请求可以直接使用URL访问,在URL中已经包含了所有的参数。(5)教师通过432的示例,讲述如何使用UrHib库处理GET请求,并通过实践进行演示。(6)教师通过举例,讲述PoST请求的特点。例如,使用Fiddler抓包工具捕获有道翻译的网页后进行查看,发现这个请求是POST请求。POST请求的参数都放到数据体中,只能通过抓包工具进行查看。(7)教师通过4.3.3的示例,讲述如何使用urllib库处理POST请求,并通过实践进行演示。三、归纳总结,布置作业(1)回顾学习目标,对本节课的内容进行总结。教师带领学生总结本节课需要掌握的内容,包括UR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 网络 爬虫 项目 实战 教学 教案 46

链接地址:https://www.desk33.com/p-1072691.html