广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python天气语音播报小助手
  • 138
分享到

Python天气语音播报小助手

2024-04-02 19:04:59 138人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

导语​ 马上就要迎来国庆小长假了~激不激动,兴不兴奋!​ ​ 那今年国庆:天气怎么样?能不能出门逛街?能不能出去旅游? …… 来来来,木木子为你整

导语​

马上就要迎来国庆小长假了~激不激动,兴不兴奋!​

图片

那今年国庆:天气怎么样?能不能出门逛街?能不能出去旅游?

……

来来来,木木子为你整理好啦!​​这个假期,你那里的天气如何?

图片

图片

正文

旅游出门就要挑个好的天气!下雨天哪儿哪儿都不舒服。

今天小编带大家写一款python天气语音播报小助手!

环境安装:python3.6、PyCharm2021、及自带的模块等。


pip install -i https://pypi.douban.com/simple/ requests 
 
pip install -i Https://pypi.douban.com/simple/ OpenCV-Python

​主要分为三大部分:

(1)获取每日天气情况:


def get_weather():
    url = 'http://www.weather.com.cn/weather/101290101.shtml'
    response = requests.get(url)
    response.encoding = 'utf-8'
    response = response.text  # 获取页面
    html = etree.HTML(response)
    day_weather = '天气状况:' + html.xpath('//*[@id="7d"]/ul/li[1]/p[1]/text()')[0] + '\n'  # 获取天气,白天的天气
    high = html.xpath('//*[@id="7d"]/ul/li[1]/p[2]/span/text()')
    low = html.xpath('//*[@id="7d"]/ul/li[1]/p[2]/i/text()')  # 获取对应的两个温度
    # 因为页面在晚上会有小变化,所以使用条件语句,来排除因变化引起的bug
    if high == []:
        day_temperature = '室外温度:' + low[0] + '\n'
    else:
        day_temperature = '室外温度:' + low[0].replace('℃', '') + '~' + high[0] + '℃\n'  # 获取温度
    # 获取两个风向
    wind_1 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/em/span[1]/@title')
    wind_2 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/em/span[2]/@title')
    # 因为有时候,会出现两个风向是同一个风向的情况,所以使用条件语句排除
    if wind_2 == []:
        wind = wind_1[0] + '\n'
    elif wind_1[0] == wind_2[0]:
        wind = wind_1[0] + '\n'
    else:
        wind = wind_1[0] + '转' + wind_2[0] + '\n'
    # 因为风级有时候会出现“<",语音的时候会认为是爱心符号,所以使用替换,改为文字”低于“
    wind_3 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/i/text()')[0].replace('<', '低于').replace('>', '高于')
    day_wind = '风向情况:' + wind + wind_3 + '\n'  # 获取风向及风级
    return day_weather, day_temperature, day_wind

(2)获取播报的高考时间:


def get_time():
    a = datetime.datetime.now()  # 实施时间
    y = str(a.year)
    m = str(a.month)
    d = str(a.day)  # 转换为字符串,便于打印
    time = y + '年' + m + '月' + d + '日' + '\n'
    b = datetime.datetime(2021, 6, 7)  # 自己设置的高考时间
    count_down = (b - a).days  # 高考倒计时
    return time, count_down

(3)设置播报每日鸡汤文字:


def get_content():
    url = 'http://open.iciba.com/dsapi/'  # 网上找的API
    response = requests.get(url=url)
    JSON_s = json.loads(response.text)
    jitang = json_s.get("content") + '\n'  # 每日鸡汤
    translation = json_s.get("note") + '\n'  # 中文翻译
    image_url = json_s.get("fenxiang_img")  # 图片链接
    return jitang, translation, image_url

(4)语音小助手依次顺序播报:


def main():
    time, count_down = get_time()
    day_weather, day_temperature, day_wind = get_weather()
    jitang, translation, image_url = get_content()
    count_down = '距离高考还有{}天,你准备好了吗?'.fORMat(count_down) + '\n'
    a = '下面为您播报今日天气状况\n'
    b = '每日一句\n'
    time = '今天是' + time
    weather = day_weather + day_temperature + day_wind
    content = jitang + translation
    text = time + count_down + a + weather + b + content  # 语音内容
    voice = pyttsx3.init()  # 初始化
    # rate = voice.getProperty('rate')
    voice.setProperty('rate', 150)  # 语速,范围在0-200之间
    voice.setProperty('volume', 1.0)  # 范围在0.0-1.0之间
    voice.say(text)  # 语音内容
    voice.runAndWait()
    cap = cv2.VideoCapture(image_url)  # 展示图片
    if(cap.isOpened()):
        ret, img = cap.read()
        my_image = cv2.resize(img, dsize=None, fx=0.5, fy=0.5)
        cv2.imshow("You will succeed in the end", my_image)
        cv2.waiTKEy()
    print(time, weather, content)

效果如下:

​其实是语音播报的,but这只能截图效果将就着看叭~哈哈哈!!!

æ å å å å åæ¥äº

总结

好啦!这是一款实时播报、高考、天气预报、每日鸡汤的三合一语音智能小助手!想拥有嘛?

记得三连哦~mua 你们的支持是我最大的动力!

到此这篇关于Python天气语音播报小助手的文章就介绍到这了,更多相关Python 语音播报 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python天气语音播报小助手

本文链接: https://www.lsjlt.com/news/136631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python天气语音播报小助手
    导语​ 马上就要迎来国庆小长假了~激不激动,兴不兴奋!​ ​ 那今年国庆:天气怎么样?能不能出门逛街?能不能出去旅游? …… 来来来,木木子为你整...
    99+
    2022-11-12
  • Python爬虫语音播报天气预报案例分析
    这篇文章主要讲解了“Python爬虫语音播报天气预报案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python爬虫语音播报天气预报案例分析”吧!一、前期准备此案例中要用到的库有:re...
    99+
    2023-06-27
  • Win10 语音助手小娜 换上了新版彩色天气图标
      6月10日消息,最近有网友发现,Win10手机版和桌面版中的Cortana小娜的天气预报图标出现了新变化,由原来的单色变成了彩色。具体可 这是一处微小的改进,Win10桌面版下月末即将正式发布,...
    99+
    2023-06-16
    Win10 小娜 Cortana 图标 语音 助手 天气
  • 天气变冷了,用Python给爸妈制作一个天气提醒小助手
    天气慢慢变冷了,和父母聊天中得知,他们查看每天的天气预报不太方便,我记得小时候,每晚 19:30 左右,一家人都要守在电视机旁边收听第二天的天气情况。如今,对于我们年轻人来说,获取天气情况很方便,但是对于我们不擅长用手机的父母来说,还是很吃...
    99+
    2023-06-02
  • 怎么用Python爬取天气并且语言播报
    这篇文章主要讲解了“怎么用Python爬取天气并且语言播报”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python爬取天气并且语言播报”吧!一、 预备知识此案例实现功能:利用网络爬虫...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作