时间:2021-05-22
天气查询python小程序第0步:导入工具库第一步:生成查询天气的url链接第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据第三步:对字典进行索引,获取气温、风速、风向等天气信息第四步:遍历forecast列表中的五个元素,打印天气信息完整Python代码
本案例是一个非常有趣的python小程序,调用网络API查询指定城市的天气,并打印输出天气信息。
你将学到以下技能:
向网络API发起请求,解析和处理服务器返回的json数据,可以迁移到各种各样的API中,如PM2.5查询,道路拥堵查询,自然灾害查询等。
python字典数据类型的常用操作
以下的代码运行在jupyter notebook的开发环境中,这是python数据分析、机器学习、人工智能开发最常用的开发界面,因为可以非常方便的撰写博客、插入图片和数学公式,并输出代码运行的中间结果,强烈建议你学习如何使用jupyter notebook。
第0步:导入工具库
import urllib.requestimport gzip第一步:生成查询天气的url链接
city_name = '上海'# 将城市的中文名字编码成utf-8字符urllib.parse.quote(city_name)# 将编码后的城市名拼接在原始链接的后面url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + urllib.parse.quote(city_name)第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据
weather_data = urllib.request.urlopen(url).read()# 访问url链接,获取字节串数据weather_data# 将字节串解码为unicode编码weather_data = gzip.decompress(weather_data)weather_data# 将unicode编码解码为utf-8编码,显示中文weather_data = weather_data.decode('utf-8')weather_data# 将字符串两端的引号去掉,变成python中的字典数据weather_dict = eval(weather_data)weather_dicttype(weather_dict)第三步:对字典进行索引,获取气温、风速、风向等天气信息
weather_dictweather_dict['data']['yesterday']['high']print('您查询的城市:',weather_dict['data']['city'])print('--------------------------')print('今天的天气')print('温度',weather_dict['data']['wendu'])print('感冒指数',weather_dict['data']['ganmao'])print('--------------------------')print('昨天的天气')print('昨天:',weather_dict['data']['yesterday']['date'])print('天气:',weather_dict['data']['yesterday']['type'])print('最高气温:',weather_dict['data']['yesterday']['high'])print('最低气温:',weather_dict['data']['yesterday']['low'])print('风向:',weather_dict['data']['yesterday']['fx'])print('风力:',weather_dict['data']['yesterday']['fl'][-5:-3])print('--------------------------')第四步:遍历forecast列表中的五个元素,打印天气信息
weather_dict[‘data'][‘forecast']是一个包含五个元素的列表,每一个元素都是一个字典。
weather_dict['data']['forecast']for each in weather_dict['data']['forecast']: print('日期',each['date']) print('天气',each['type']) print(each['high']) print(each['low']) print('风向',each['fengxiang']) print('风力:',each['fengli'][-5:-3]) print('--------------------------')完整Python代码
# 导入工具库import urllib.requestimport gzip## 第一步:生成查询天气的url链接city_name = input('请输入要查询的城市名称:')# 将城市的中文名字编码成utf-8字符urllib.parse.quote(city_name)# 生成完整url链接url = 'http://wthrcdn.etouch.cn/weather_mini?city='+urllib.parse.quote(city_name)## 第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据# 获取服务器返回的json字节串数据weather_data = urllib.request.urlopen(url).read()# 将字节串数据解码为unicode中的utf-8数据weather_data = gzip.decompress(weather_data).decode('utf-8')# 将json数据转为python的字典数据weather_dict = eval(weather_data)if weather_dict.get('desc') == 'invilad-citykey': print('您输入的城市未收录') # 第三步:对字典进行索引,获取气温、风速、风向等天气信息print('您查询的城市:',weather_dict['data']['city'])print('--------------------------')print('今天的天气')print('温度',weather_dict['data']['wendu'])print('感冒指数',weather_dict['data']['ganmao'])print('--------------------------')print('昨天的天气')print('昨天:',weather_dict['data']['yesterday']['date'])print('天气:',weather_dict['data']['yesterday']['type'])print('最高气温:',weather_dict['data']['yesterday']['high'])print('最低气温:',weather_dict['data']['yesterday']['low'])print('风向:',weather_dict['data']['yesterday']['fx'])print('风力:',weather_dict['data']['yesterday']['fl'][-5:-3])print('--------------------------')# 第四步:遍历forecast列表中的五个元素,打印天气信息for each in weather_dict['data']['forecast']: print('日期',each['date']) print('天气',each['type']) print(each['high']) print(each['low']) print('风向',each['fengxiang']) print('风力:',each['fengli'][-5:-3]) print('--------------------------')到此这篇关于python小程序基于Jupyter实现天气查询的方法的文章就介绍到这了,更多相关python Jupyter 天气查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python基于新浪sae开发的微信公众平台,实现功能:输入段子---回复笑话输入开源+文章---发送消息到开源中国输入快递+订单号---查询快递信息输入天气-
二维码,或是搜一搜,就能立即使用。不同的小程序,能帮你实现不同的功能。例如,买电影票、餐厅排号、餐馆点菜、查询公交、查询股票信息、查询天气、收听电台、预定酒店、
二维码,或是搜一搜,就能立即使用。不同的小程序,能帮你实现不同的功能。例如,买电影票、餐厅排号、餐馆点菜、查询公交、查询股票信息、查询天气、收听电台、预定酒店、
最近几年,jupyter在全球数据科学领域,已经成为不可或缺的重要工具。在jupyter中用python写程序,若import了自己写的外部模块,如果这个外部模
本文实例讲述了微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能。分享给大家供大家参考,具体如下:效果图实现原理采用高德地图微信小程序开发AP