python实现智能语音天气预报

您所在的位置:网站首页 python语音提示 python实现智能语音天气预报

python实现智能语音天气预报

#python实现智能语音天气预报| 来源: 网络整理| 查看: 265

本站最新发布   Python从入门到精通|Python基础教程 试听地址  https://www.xin3721.com/eschool/pythonxin3721/ 本系统主要包括四个函数:

1、获取天气数据

输入要查询天气的城市

利用urllib模块向中华万年历天气api接口请求天气数据

利用gzip解压获取到的数据,并编码utf-8

利用json转化成python识别的数据,返回为天气预报数据复杂形式的字典(字典中的字典)

2、输出当天天气数据

格式化输出当天天气,包括:天气状况,此时温度,最高温度、最低温度,风级,风向等。

3,语音播报当天天气

创建要输出的语音文本(weather_forecast_txt)

利用百度的语音合成模块AipSpeech,合成语音文件

利用playsound模块播放语音

4、未来几天温度变化趋势

创建未来几天高低温数据的字典

利用matplotlib模块,图形化温度变化趋势

5、代码

复制代码 1 #导入必要模块 2 import urllib.parse 3 import urllib.request 4 import gzip 5 import json 6 import playsound 7 from aip import AipSpeech 8 import matplotlib.pyplot as plt 9 import re 10 #设置参数,图片显示中文字符,否则乱码 11 plt.rcParams['font.sans-serif']=['SimHei'] 12 #定义获取天气数据函数 13 def Get_weather_data(): 14 print('------天气查询------') 15 city_name = input('请输入要查询的城市名称:') 16 url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + urllib.parse.quote(city_name) 17 weather_data = urllib.request.urlopen(url).read() 18 # 读取网页数据 19 weather_data = gzip.decompress(weather_data).decode('utf-8') 20 # #解压网页数据 21 weather_dict = json.loads(weather_data) 22 return weather_dict 23 #定义当天天气输出格式 24 def Show_weather(weather_data): 25 weather_dict = weather_data 26 if weather_dict.get('desc') == 'invilad-citykey': 27 print('你输入的城市有误或未收录天气,请重新输入...') 28 elif weather_dict.get('desc') == 'OK': 29 forecast = weather_dict.get('data').get('forecast') 30 print('日期:', forecast[0].get('date')) 31 print('城市:', weather_dict.get('data').get('city')) 32 print('天气:', forecast[0].get('type')) 33 print('温度:', weather_dict.get('data').get('wendu') + '℃ ') 34 print('高温:', forecast[0].get('high')) 35 print('低温:', forecast[0].get('low')) 36 print('风级:', forecast[0].get('fengli').split('


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3