python编写的语音天气预报
本系统主要包括四个函数:
1、获取天气数据
1、输入要查询天气的城市
2、利用urllib模块向中华万年历天气api接口请求天气数据
3、利用gzip解压获取到的数据,并编码utf-8
4、利用json转化成python识别的数据,返回为天气预报数据复杂形式的字典(字典中的字典)
2、输出当天天气数据
1、格式化输出当天天气,包括:天气状况,此时温度,最高温度、最低温度,风级,风向等。
3,语音播报当天天气
1、创建要输出的语音文本(weather_forecast_txt)
2、利用百度的语音合成模块AipSpeech,合成语音文件
3,利用playsound模块播放语音
4、未来几天温度变化趋势
1、创建未来几天高低温数据的字典
2,利用matplotlib模块,图形化温度变化趋势
5、代码
#导入必要模块
import urllib.parse
import urllib.request
import gzip
import json
import playsound
from aip import AipSpeech
import matplotlib.pyplot as plt
import re
#设置参数,图片显示中文字符,否则乱码
plt.rcParams['font.sans-serif']=['SimHei']
#定义获取天气数据函数
def Get_weather_data():
print('------天气查询------')
city_name = input('请输入要查询的城市名称:')
url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + urllib.parse.quote(city_name)
weather_data = urllib.request.urlopen(url).read()
# 读取网页数据
weather_data = gzip.decompress(weather_data).decode('utf-8')