(共22张PPT)
爬取网络信息
川教版 九年级上
新知导入
新学期,欢欢的老师向欢欢推荐了很多的课外阅读书目,但是欢欢在浏览器上直接搜索得出的信息过于的杂乱繁多,欢欢只好向老师求助。
新知导入
我有一个好办法。可以先用搜索引擎找到一个书目介绍网页,再用Python编写一个小程序,快速从这个网页上获取书籍的各种信息。
Python太强大了,可是我们应该怎么做呢?
接下来,我们就一步步的来完成这个任务。我们先来分析一下这个任务,并梳理出实现的方法
书名 好评数/个 价格/元
水浒传 56082 26 《水浒传》是中国温煦时尚收不百花章回体小说,开创了中国白话长篇小说的先河,与《红楼梦》《三国安逸》《西游记》被合称为“中国古典文学四大名著……
新知讲解
一、明确任务
老师,搜索出来的网站好丰富。
网上类似的网站很多,我给你推荐一个网页“好书推荐”。网址是Ttp://ocalho /haoshu bhm".你可以用程序把这个网页的信息获取下来,对信息进行筛选和整理,并且保存下来。还可以进行简单的处理,最后得到你想要的信息。
嗯。我明白了!我们要做一个表格来存储书籍的各种信息
新知讲解
接下来,分析任务要达到的目标
我们按照以下流程进行:
1、搜索满足需求的网站;
2、编写程序从网页获取信息;
3、筛选出所需信息
4、将信息转化成表格的格式;
5、保存信息;
6、使用/分析信息。
以上流程又可以进一步概括为获取信息、处理信息、保存信息、使用/分析信息等步骤
新知讲解
用Python编写爬虫软件
访问网页
获取网页信息
筛选出所需信息
调整所需信息格式
保存需要的信息
分析信息
获取信息
处理信息
保存信息
使用/分析信息
新知讲解
二、实现方法
根据刚才的任务分析图,我们需要一些相关知识的辅助才能更好的完成任务如下表所示:
所属步骤 流程说明 所需知识、方法
获取信息 访问网页、获取网页内容 requests模块的使用方法
处理信息 筛选信息、整理信息 使用BeautifulSoup模块调用lxml解析器清除不需要的html内容
保存信息 保存信息至文件 文件保存,写操作
使用/分析信息 根据需求使用、分析信息 用Excel排序,或使用pandas模块排序
表中的知识与方法是我们编写好爬虫程序的基础,表中列举的requests模块、BeautifulSoup模块请提前安装。只要掌握了这些知识,就可以编写出符合我们需求的爬虫程序。
新知讲解
requests模块
Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求。类似的模块有很多,但是与requests模块相比较复杂得多。
BeautifulSoup模块
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。
新知讲解
三、Python爬虫访问网页
编写程序,让程序访问网络并获取我们需要的信息,这样的程序我们叫它“网络爬虫”。接下来我们就进行编写网络爬虫具体的操作。
什么是网络爬虫?
新知讲解
首先,从浏览器中打开“好书推荐”的网页,网页出现了很多的搜索结果,包括每本书的书籍名、内容简介、好评数、作者、价格等信息。如下图:
而后, 在页面上点击右键,选择“查看页面源代码”,这些源代码就是一些纯文本。有如...,...,
...,
...
这些文本,它们叫Html标签,用来控制页面文本或者图片在网页中的显示。如右图:
新知讲解
新知讲解
接着使用requests模块的ger函数,可获取以上页面的源代码。
获取“好书推荐”页面信息并显示的完整代码如下:
import requests #引入Python中的网络访问库requests
res=requests.get( http://localhost/haoshu.html’) #使用requests模块的get函数访问网址
res.encoding='UTF-8 ’ #将获取到的内容,编码为UTF-8
resTxt=res.text #页面源代码转码之后的内容赋值给resTxt
print(resTxt)
之后,将上一个步骤的代码保存文件“我的课外读物.py”,然后执行,可获得执行结果如下:
新知讲解
通过以上的操作获取到网页的源代码。但是我们不需要全部的内容,只需要书籍名称及它的好评数和价格、作者、内容简介等信息。
新知讲解
接下来,我们仔细观察源代码,发现书籍名称代码中有一些相同的代码:
…。这就是Html标签,书籍名称不同,但标签中的class="title"却是相同的,我们使用class="title"做关键字来查找书籍名。再找找好评数、价格和内容简介的标签与关键字,统一大小写、规范填写。如下表:
查找内容 起始标签 结束标签 关键字
书籍名 class=“title”
内容简介
好评数
价格
最后,根据代码特征,就可以从全部源代码中提取我们需要的信息。这需要对txt文件中的“字符串”进行操作。在之前的学习中,我们了解过input函数获取到的数据默认是字符串类型,前面获取的页面源代码“resTxt”也是一个字符串。接下来我们来进一步的了解字符串。
字符串:在Python中,字符串通常都放在单引号或者双引号之中,如果字符串较长,甚至有分段,我们还可以使用三个单引号或者三个双引号,来将这种长字符串“包括”在其中。
新知讲解
合作探究
请大家运行以下代码,观察运行结果,总结定义字符串的方式。
stra='我是字符串a'
strb="我是字符串b"
print(stra)
print(strb)
stre="Let' s go!"
strd=""欢欢说:"Let' s go!""
stre=""乐乐说:Let's go!""
print(strc)
print(strd)
print(stre)
合作探究
从上面代码中,可以看出,定义字符串有四种不同的方式,请填写在下表中:
定义字符串符号 应用范围
单引号 只有字符或文字
双引号
三个单引号
三个双引号
合作探究
拓展:请大家说一说什么是网络爬虫和它的作用
网络爬虫,又被称为网页蜘妹、网络机器人等。它的本质是一种按照一定的规则,自动爬取网络信息的程序成脚本。网络爬出帮助搜索引擎从互联网上读取网页,是搜索引擎最重要也是最基础的组成部分。
网络爬虫能快速、高效地帮助我们获取到有用的信息,特别是当我们需要从网络上大规模的获取某类信息时,网络爬虫将会使我们的工,事半功倍。所以,理解网络爬出的基本原理,甚至能够自己编写爬虫。是我们生活在信息时代应该具备的技能。
课堂总结
总结本节课所讲内容
板书设计
爬取网络信息
一、明确任务
二、实现方法
三、Python爬虫访问网页
https://www.21cnjy.com/help/help_extract.php中小学教育资源及组卷应用平台
川教版信息技术九年级上册《爬取网络信息》教学设计
课题 爬取网络信息 单元 三 学科 信息技术 年级 九年级
学习 目标 分析任务要达到的目标。 学会将任务分解成小任务并梳理出方法和步骤。 学会在Python中使用request模块访问网络,获取信息。
重点 学会分析流程,明确步骤
难点 爬虫程序的编写
教学过程
教学环节 教师活动 学生活动 设计意图
导入新课 新学期,欢欢的老师向欢欢推荐了很多的课外阅读书目,但是欢欢在浏览器上直接搜索得出的信息过于的杂乱繁多,欢欢只好向老师求助。 老师:我有一个好办法。可以先用搜索引擎找到一个书目介绍网页,再用Python编写一个小程序,快速从这个网页上获取书籍的各种信息。 欢欢:Python太强大了,可是我们应该怎么做呢? 老师:接下来,我们就一步步的来完成这个任务。我们先来分析一下这个任务,并梳理出实现的方法 听老师讲解 调动学生的兴趣,为更好地开展课程内容做准备。
讲授新课 一、明确任务 欢欢:老师,搜索出来的网站好丰富。 老师:网上类似的网站很多,我给你推荐一个网页“好书推荐”。网址是Ttp://ocalho /haoshu bhm".你可以用程序把这个网页的信息获取下来,对信息进行筛选和整理,并且保存下来。还可以进行简单的处理,最后得到你想要的信息。 欢欢:嗯。我明白了!我们要做一个表格来存储书籍的各种信息 接下来,分析任务要达到的目标。 我们按照以下流程进行: 1、搜索满足需求的网站; 2、编写程序从网页获取信息; 3、筛选出所需信息 4、将信息转化成表格的格式; 5、保存信息; 6、使用/分析信息。 以上流程又可以进一步概括为获取信息、处理信息、保存信息、使用/分析信息等步骤。 二、实现方法 根据刚才的任务分析图,我们需要一些相关知识的辅助才能更好的完成任务如下表所示: 表中的知识与方法是我们编写好爬虫程序的基础,表中列举的requests模块、BeautifulSoup模块请提前安装。只要掌握了这些知识,就可以编写出符合我们需求的爬虫程序。 requests模块 Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求。类似的模块有很多,但是与requests模块相比较复杂得多。 Beautiful Soup模块 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。 三、Python爬虫访问网页 什么是网络爬虫? 编写程序,让程序访问网络并获取我们需要的信息,这样的程序我们叫它“网络爬虫”。接下来我们就进行编写网络爬虫具体的操作。 首先,从浏览器中打开“好书推荐”的网页,网页出现了很多的搜索结果,包括每本书的书籍名、内容简介、好评数、作者、价格等信息。如下图: 而后, 在页面上点击右键,选择“查看页面源代码”,这些源代码就是一些纯文本。有如...,...,...,...
这些文本,它们叫Html标签,用来控制页面文本或者图片在网页中的显示。如下图: 接着使用requests模块的ger函数,可获取以上页面的源代码。 之后,将上一个步骤的代码保存文件“我的课外读物.py”,然后执行,可获得执行结果如下: 通过以上的操作获取到网页的源代码。但是我们不需要全部的内容,只需要书籍名称及它的好评数和价格、作者、内容简介等信息。 接下来,我们仔细观察源代码,发现书籍名称代码中有一些相同的代码:…。这就是Html标签,书籍名称不同,但标签中的class="title"却是相同的,我们使用class="title"做关键字来查找书籍名。再找找好评数、价格和内容简介的标签与关键字,统一大小写、规范填写。如下表: 最后,根据代码特征,就可以从全部源代码中提取我们需要的信息。这需要对txt文件中的“字符串”进行操作。在之前的学习中,我们了解过input函数获取到的数据默认是字符串类型,前面获取的页面源代码“resTxt”也是一个字符串。接下来我们来进一步的了解字符串。 字符串:在Python中,字符串通常都放在单引号或者双引号之中,如果字符串较长,甚至有分段,我们还可以使用三个单引号或者三个双引号,来将这种长字符串“包括”在其中。 合作探究 请大家运行以下代码,观察运行结果,总结定义字符串的方式。 stra='我是字符串a' strb="我是字符串b" print(stra) print(strb) stre="Let' s go!" strd=""欢欢说:"Let' s go!"" stre=""乐乐说:Let's go!"" print(strc) print(strd) print(stre) 从上面代码中,可以看出,定义字符串有四种不同的方式,请填写在下表中: 拓展:请大家说一说什么是网络爬虫和它的作用 网络爬虫,又被称为网页蜘妹、网络机器人等。它的本质是一种按照一定的规则,自动爬取网络信息的程序成脚本。网络爬出帮助搜索引擎从互联网上读取网页,是搜索引擎最重要也是最基础的组成部分。 网络爬虫能快速、高效地帮助我们获取到有用的信息,特别是当我们需要从网络上大规模的获取某类信息时,网络爬虫将会使我们的工,事半功倍。所以,理解网络爬出的基本原理,甚至能够自己编写爬虫。是我们生活在信息时代应该具备的技能。 学生听讲,与老师互动。 学生进行学习。 学生进行同步操作。 学生小组合作进行讨论。 调动学生学习新课的积极性。 完整的介绍新课程的内容,让学生对新课程有更直观的了解。 锻炼学生的动手和思考能力,让学生更好的掌握知识。 培养学生团队合作能力。
课堂小结 总结本节课所学内容 学生回答。 梳理本节课的知识点,完成学习目标,培养学生总结概况能力。
板书
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)