Python天气预报查询

news/2024/11/16 18:26:00/

功能: 实现城市天气预报查询,并提供未来四天查询

两个网站接口,直接返回数据,之后对数据进行读取和处理,很简单的小程序

效果图:
在这里插入图片描述
代码实现:

import urllib.request
import gzip
import json
print('------天气查询------')
def get_weather_data() :city_name = input('请输入要查询的城市名称:')url1 = 'http://wthrcdn.etouch.cn/weather_mini?city='+urllib.parse.quote(city_name)url2 = 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100'#网址1只需要输入城市名,网址2需要输入城市代码#print(url1)weather_data = urllib.request.urlopen(url1).read()#读取网页数据weather_data = gzip.decompress(weather_data).decode('utf-8')#解压网页数据weather_dict = json.loads(weather_data)#将json数据转换为dict数据return weather_dictdef show_weather(weather_data):weather_dict = weather_data #将json数据转换为dict数据if weather_dict.get('desc') == 'invilad-citykey':print('你输入的城市名有误,或者天气中心未收录你所在城市')elif weather_dict.get('desc') =='OK':forecast = weather_dict.get('data').get('forecast')print('城市:',weather_dict.get('data').get('city'))print('温度:',weather_dict.get('data').get('wendu')+'℃ ')print('感冒:',weather_dict.get('data').get('ganmao'))print('风向:',forecast[0].get('fengxiang'))print('风级:',forecast[0].get('fengli'))print('高温:',forecast[0].get('high'))print('低温:',forecast[0].get('low'))print('天气:',forecast[0].get('type'))print('日期:',forecast[0].get('date'))print('*******************************')four_day_forecast =input('是否要显示未来四天天气,是/否:')if four_day_forecast == '是' or 'Y' or 'y':for i in range(1,5):print('日期:',forecast[i].get('date'))print('风向:',forecast[i].get('fengxiang'))print('风级:',forecast[i].get('fengli'))print('高温:',forecast[i].get('high'))print('低温:',forecast[i].get('low'))print('天气:',forecast[i].get('type'))print('--------------------------')print('***********************************')show_weather(get_weather_data())

http://www.ppmy.cn/news/201752.html

相关文章

酷睿i7 12800hx和i7 12800H区别

i7 12800H采用 14 核心 20 线程,应该是由 6 大核心 8 小核心组成,主频 2.8GHz,24MB 三级缓存,在 GeekBench 5 中单核心 1654 分,多核心 9618 分 笔记本cpu选i7 12800H还是i7 12800hx这些点很重要 http://www.adiannao.…

Qt 天气

写了一个简单的显示天气信息的例子。 其中涉及到http, xml, c11 天气信息是用webxml接口获取的,包括图片素材。 通过getSupportProvince获取支持的省份信息,getSupportCity获取当前省份中的城市,getWeatherbyCityNam…

网易(weather)天气预报接口

请求链接: http://weather.mail.163.com/weather/xhr/weather/info.do?sid&uid&host&verjs6&fontfaceyahei&style1&skinseablue&color&city101100410&callback00 参数: city 城市编号 返回结果: {&qu…

【空间天气】空间天气预报

文章目录 1.预报要素与时效2.太阳活动预报3.行星际天气预报4.磁层天气预报5.电离层天气预报6.中高层大气天气预报7.预报方法和预报检验8.空间天气机构和预报能力9.目前的主要预报业务模式9.目前的主要预报业务模式 1.预报要素与时效 空间天气预报水平主要取决于空间天气监测能力…

利用 Python 得到未来七天天气预报

因为自己平时都不看手机上的天气 app,因此都是出门之后“冷暖自知”,而在秦皇岛晚上总是会被冻得瑟瑟发抖,因此想写一个小脚本可以查询未来几天的天气,让自己选择合适的衣服。 经过查询,选择中国天气网 ,里…

【读书笔记】《平凡的世界》- 路遥

他又进一步想,郝红梅抛开他而和顾养民相好,也完全是正常的啊!他自己在哪方面都无法和顾养民比较。男女相好,这是两厢情愿的事,而怎能像乡俗话说的“剃头担子一头热”呢? 青春激流打起的第一个浪头在内心渐渐…

和风天气获取天气情况

和风天气api(实时天气)https://dev.qweather.com/docs/api/weather/weather-now/ 控制台 https://console.qweather.com/#/apps 1. 进入控制台获取key 应用管理-> 创建应用 2. 调用接口获取天气api 参数 1.key (必选) …

GEE下载气象数据(降雨、气温、风向等)

1.数据描述 ERA5 Monthly Aggregates - Latest Climate Reanalysis Produced by ECMWF / Copernicus Climate Change ServiceERA5 is the fifth generation ECMWF atmospheric reanalysis of the global climate. Reanalysis combines model data with observations from acro…