还剩4页未读,继续阅读
文本内容:
九年级上册信息技术教学设计课题《处理网络信息》单元三单元学科信息技术年级九年级
1.学会使用BeautifulSoup模块,对获取到的信息进行清理学习
2.了解Html标签在使用BeautifulSoup模块时的作用目标
3.学会字符串合并、替换等简单操作
4.掌握在Python中使用open函数保存文件,了解常用编码方式UTF-8与GBK重点会使用BeautifulSoup模块,对获取到的信息进行清理;了解Html标签在使用BeautifulSoup模块时的作用难点会字符串合并、替换等简单操作;掌握在Python中使用open函数保存文件,了解常用编码方式UTF-8与GBKo教学过程教学环节教师活动学生活动设计意图导入新课
一、新课导入上一节中,我们在Python中用requests模了解本节课使学生对本节课的学习内容块获取到了“好书推荐”的网页信息,接下来,的学习内容有一根据需要对数据进行处理和保存让我们按前面个大致的了解讲授新课分析的步骤步一步来实现吧
二、新知讲解
一、提取书籍的名称使用BeautifulSoup模块,可以很简单地将我们需要的内容从网贝中提取出来解析“好书推荐”页面源代码resTxt即网页源代码变量的代码如下resStr=BeautifulSoupresTxt,Ixml这里,用BeautifulSoup模块调用Ixml解析器处理网页源代码resTxt,分析出源代码中的学习提取书籍的听老师讲解标签、数据等,并将处理后的结果赋值给变量名称resStro下面,使用BeautifulSoup模块,提取网页中书籍的名称用class二〃title〃作为关键字,通过se!ect函数来取得所有书籍的名称列表sm的代码如下sm=resStr.select[class二〃title]sm是所有书籍名称列表,按在网页中出现的先后顺序依次编号为0,1,2,3,4……也可以将提取到的书籍名称直接打印,代码如课本所示我们只需要对上一节中的代码稍做修改,即探索学习可达到目的,代码如课本所示学生利用自主探保存上面代码,运行,结果如图3-2-1幅究、小组合作、上图,使用BeautifulSoup模块清除掉实践操作的了除书籍名称之外的所有内容,得到一个列表,方法去解决问列表中第0项内容是<span class二“litle”题;师生直观演>三国演义</span>,……,以此类推每一示更具说服力,项目中都有不需要的span标签,再将上面代码加深印象完善一下,用for循环提取出列表中的每一项内容,并只打印其中的书籍名称,代码如课本所示运行结果如图3-2-2所示如上图所示,我们依次获取到了全部书名并清除了其他内容使用BeautifulSoup模块从网页中获取到需要的信息,关键在于从Html中找到所需信息的“标签”,通过标签的值,就可以将需要的信息提取出来拓展获取好评数、价格等信息与获取书籍名称的方法相同,只是关键词不同同学们可试试修改一下上面的代码,来提取书籍的好评数、内容简介和价格提取书籍好评数的代码如课本所示运行结果如图3-2-3所示小提示每种书籍的好评数后面部有“条好评”这了解增加知识面几个文字,可以使用字符串替换的方法将文字删除,只保留数字,替换命令是replaceo请同学们运行下面代码,并观察运行结果,思考replace命令的作用锻炼思维,培养stra=这是个苹果”表达能力print(stra.replace(苹果,桃子)replace print(stra.replace(西瓜,桃子)不难发现第一个replace语句将苹果替换令的作用成了桃子,而第个语句中,因为字符串stra中没有“西瓜”,所以替换不成功,返回原字符串o_只保留好评数数字部分的代码如课本所zj\O运行结果如图3-2-4所示培养学生举一
(二)、同时提取书名和好评数反
三、学习迁移前面分别提取到了书名和好评数,我们要的能力;将二者结合起来一起显示,这就要使用字符串鼓励学生尝试合并的方法入完成操作练习小提示请同学们运行下面代码,仔细观察打印结果,并思考其中的+号起了什么作用?由上面代码可以发现使用十号,可以将两个字符串合并在一起使用+号合并字符串在七年级上册Pytbon编程时已经使用过了用+号合并字符串时,两个字符串之间是没有间隔的我们已品分别提取了所有的书名列表和好评数列表,下一步要将每一本书的名称和对应的好评数合并,中间用逗号分隔用for循环来实现,用fr来依次枚举列表little中的每一个书名,同时增加变量i表示列表litle-sub的索引号来依次获取对应的好评数,即litle-sub[i],变量i从0开始,依次加1,代码如课本所不运行结果如图3-2-5所示
(三)、保存信息根据前面的分析,下一步就是将这些信息保存到文件中,以便对数据进行后期处理像图3-学习保存信2-5中的数据,数据与数据之间用英文逗号来分息隔,我们可以将其保存为扩展名为csv的文件,其实就是最简单的Excel文档,可以使用“Excel”或者“WPS表格”来打开它小提示学习保存信息保存文件在Python中,我们通常使用open函数来打开、保存、读取及写入文件请同学们编写下面代码,将该代码文件保存在Python目录文件夹下,然后运行它,看看会发生什么情况运行程序后,什么结果都没有,再看看代码探索实践所在的文件夹呢?文件夹中出现了一个空白的文件,名字就叫“测试文件txt显然,上面的代码做了一件事,那就是新建了一个空白的文采用了分层教学件代码中的w,是单词write(写入)的缩写,法,关注学生差意思是以“写入”的方式打开这个文件文件编异,发展学生个码方式是GBK,为默认编码方式,可以不写如果性编码方式是UTF8,则必须指定现在用write方法试试往这个文件中写入内容,看看会发生什么情况请同学们修改代码如下,观察“测试文件txt”中发生了什么变化运行结果如图3-2-6所示现在代测试文件txt”中保存了写入的“我是欢欢!”请同学们再修改代码,往文件中写入另一句话,观察“测试文件txt中发生了什么变化,代码如课本所示运行之后再打开“测试文件txt”,发现了什么呢?原始文件中的内容“我是欢欢!”这句话不见了只有“我喜欢玩Python!”也就是说,使用w方式打开文件,再写入内容,会覆盖掉文件中原来的内容使用open函数打开文件,要注意打开方式的参数读“r”、写“w”、追加“a”、读文件时要求文件已经存在,写或者追加时,若文件不在可以自动创建一个新文件写入文件时要注意,“w”方式会把原来的内容覆盖,〃a”方式会把新内容加在原文末尾拓展阅读GBK编码与UTF-8编码阅读无论是保存文件、读取文件,还是往文件中拓展知识面了写入内容,都要注意,文件可能会有不同的编码解GBK编码与中文Windows系统下,默认的文件编码是UTF-8编码GB2312GBK,所以程序中使用open函数时,并没有用encoding二编码方式’这个参数强行指定某种编码但是从网页上去爬取数据时,网页的编码方式绝大多数都是UTF-8的,要把网页上的数据保存到电脑上时,最好就强行指定编码为GBKo否则编码不正确,会导致保存、读取或者写入的文本变成乱码所以,通常使用open函数将内容写入到文件时,可直接写为文件变量名二pen〃文件名.txt〃,〃a〃,encoding二〃GBK〃思考GBK编那么,GBK编码与UTF-8编码到底有什么区别呢最早的电脑都是使用英文的,英文一个字码与UTF-8锻炼思维母只占一个字符,为了在电脑中使用中文,我国编码到底有就制定了一个名叫GB2312的编码标准但GB2312只有常用汉字,并没有包含所有汉字为什么区别此,又在GB2312的基础上扩展,形成了GBK编呢?码,包含了几乎所有汉字与特殊字符其他国家也存在文字编码方式需要统一的问题,所以UTF-8编码产生了如果中文网页使用了UTF-8编珥,外国人访问也没有问题;如果中文网页使用了GBK编码,则外国人访问就必须下载中文字体,否则就看到乱码所以,UTF-8是全球统一的通用编码,而GBK编码是中文环境中的一种编码,并不通用在我们学习Python编程语言时,可使用网上太量的现成模块,这些模块的作者来自于全球各地所以,使用Pytbon编写代码时,建议大家尽量使用UTF-8的编码方式来保存自己的代码当调用了UTF-8编码的外部模块时,可能我们编写的程序会出现一些出乎意料的问题前面爬虫获取到的书名和好评数的数据,可以保存为后缀名为CSV的文件,数据与数据之间,使用英文逗号来分隔代码如课本所不运行代码即可得到“书籍数据CSV”文件,首先用记事本打开这个文件,效果如图3-2-6所不如图3-2-6所示,每本书的价格与好评数,都被爬取并保存了下来,数据之闾是用_英文逗号分隔开的再用“WPS表格”或了解:Excel”打开这个文件,效果如图3-2-7所Zj\o拓展上面是把所有的书名和好评数依次合并在一个字符串中,最后用writeO方法写入这一个字符串,能用追加的方式来做吗?上面只是获取了书名和好评数、能把书籍价格也加入表格吗?
(四)、我的课外读物增加知识面通过前面的学习,我们可以用Python编写程序,在网络上获取需要的信息,并将其保存到文件中而后根据需要对保存的数据信息进行加工和处理,提取出对我们有价值的信息情景展不欢欢谢谢老师!我觉得,虽然获取到了数据,但这些数据太多了,我能知道哪些观看书好评数最高,哪些书价格最便宜就更好啦乐乐刚才保存下来的csv文件可以用“WPS表格”或“Excel”打开,那我就可以用图表中的柱形图来显示每种书的好评数或者价格了,这样看起来更直观欢欢嗯,我们还可以用排序的功能按好评数从高到低排序,就能看到哪些书最受欢迎;按价格从低到高排序,就能看到哪些书最便宜啦乐乐对,我们以前学的表格数据处理这下都能用上了欢欢我们上学期学习的数据分析还能通过写Python程序来实现呢,用pandas模块中的sort_values函数进行排序了解老师你们说的都很对,把以前学习的知识灵活地运用起来,就能解决很多生活中的问题通过这一次学习网络爬虫你们学到了很多知识,能用思维导图的方式把这些知识梳理一下吗?课堂小结
三、课堂小结分享交流学习反馈学会倾今天你有哪些收获?遇到了哪些困难?是听怎么解决的?还有哪些困惑?作业布置
四、作业布置培养自主学习能预习下一课《爬虫中的法律和道德》预习下一课力板书第2节处理网络信息
一、提取书籍的名称
二、同时提取书名和好评数
三、保存信息
四、我的课外读物。