所属成套资源:粤高教版(2018)信息技术八年级下学期PPT课件+教学设计全套
粤高教版八年级下册信息技术第2单元第5课 查询天气 教案
展开
这是一份粤高教版八年级下册信息技术第2单元第5课 查询天气 教案,共7页。
广东高等教育版信息技术八年级下册第二单元第5课教学设计课题 第5课 查询天气单元第二单元学科信息技术年级八年级学习目标1、了解requests库的功能。2、理解利用get()函数发送请求后返回对象的各种属性。3、掌握利用requests库获取网络数据的方法。4、掌握利用json模块转换数据格式的方法。5、初步应用requests库和json模块程序进行网络数据查询。重点掌握利用requests库获取网络数据的方法。难点初步应用requests库和json模块程序进行网络数据查询。 教学过程教学环节教师活动学生活动设计意图导入新课观看图形。互联网上有大量的天气数据,如何编写从中查询所需的数据呢?交流:我们可以通过哪些渠道查询天气?查询天气时,你主要关注哪些指标?我们可以通过电视、手机、报纸、上网查询等途径查询天气;关注温度、湿度、风力、风向太阳照射强度等 观看、欣赏、思考 激发学生的学习兴趣,了解日常生活中的查询天气数据 。讲授新课一、分析问题本课的任务是编写程序查询制定城市的天气情况。程序要解决的关键问题:一是如何到指定的天气网站获取数据;二是如何筛选出需要的天气数据,并按日常习惯表达出来。 要解决以上问题,在程序中需要利用以下两个库(模块) (1)利用requests库向气象网站发送请求,获取天气数据 (2)利用json模块将获取的天气数据转换成便于Python处理的数据格式课我们利用中华万年历网站提供的天气预报API接口获取数据。例如,通过该接口获取北京的天气数据如下:http://wthrcdn.etouch.cn/weather_min?city=北京实践:上网了解有哪些网站提供API数据接口:百度百科:http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_key=关键字&bk_length=600气象局:http://m.weather.com.cn/data/101010100.html爱奇艺:http://cache.video.iqiyi.com/jp/avlist/202861101/1/?callback=jsonp9 二、学习新知(一)requests库 实践:找一个你想查询的网址,然后在IDLE交互模式下进行操作,观察输出结果,理解各项属性的含义。1.导入requests库2.用get()函数发送请求,返回数据存放到resp中3.再用print()函数输出表2-5-1所列的各种属性(二)json模块 由于从中华万年网获取的是字符串形式的天气数据(JSON格式),因此要用json模块将JSON格式的数据准换为Python的专属数据格式,才能更方便进行处理。 三、设计算法根据前面分析,查询天气的算法思路如下:1、导入requests库以及json模块2、输入查询城市名city3、发送网络请求,获取天气数据response4、将response.txet转换成Python对象,并保存到weather中5、判断天气数据是否获取成功,成功则输出天气数据。否则输出“没有该城市的天气数据”四、编写程序(一)获取天气数据探究: 在程序weather.py最后加上一行代码‘print(weather)’。运行程序,输入你所在的城市(如图2-5-2所示),观察输出的天气数据提供了哪些信息?(二) 输出天气数据分析图2-5-2可知,从网络中获取的天气数据包含了多项内容,但这些数据难于直观看出天气的各项指标。我们可以逐项提取数据,再按整齐的格式显示出来,方便阅读。观察: weather[‘data’][‘forecast’][0]包含有五个子项内容,它们分别表示哪些气象指标?实践:在程序weather.py基础上,删除最后一行代码‘print(weather)’,然后补充以下代码,观察输出了哪些天气数据。要输出更多天气数据,该如何修改程序?实践与创作: 利用百度提供的查询手机号码归属地的API接口,编写程序查询手机号码的归属地,按如图2-5-3所示输出查询结果。API接口网址为:http://mobsec-dianhua.baidu,com/dianhua_api/open/location?tel=手机号码实践与评估1、用于发送网络请求的库是( D ) A.random B.matplotlib C.json D.requests2、将JSON格式的数据a转换成Python对象的语句是( B ) A、b=json.load(a) B、b=json.loads(a) C、b=json.dump(a) D、b=json.dumps(a)3、以下说法错误的是( B )A、requests库属于扩展库,需要先安装才能使用 B、json模块属于扩展库,需要先安装才能使用C、表达式“4+5”的结果是“45”D、json模块能将Python对象与JSON格式的数据进行相互转换4、请完善下列程序,使程序能够输出所获取的页面内容 进行探究,初步了解程序解决的关键问题。 了解requests库、json模块 了解API数据接口 了解requests库的用法。 操作、实践 了解json模块的用法。 教师讲解,学生听讲,设计查询天气的算法。 输出天气数据的格式用法。 自主探究,学生理解和掌握。 上网搜索 听讲、了解。 学生听老师讲解,了解json模块。 课堂小结一、requests库和json模块的运用二、提取weather中的某项数据学生回答利用问题形式进行总结板书一、分析问题二、学习新知 (一)requests库 (二) json库三、设计算法四、编写程序 (一)获取天气数据 (二)输出天气数据