利用Python制作一个简单的天气播报系统

目录
  • 前言
  • 工具
  • 天气数据来源
  • 代码实现
  • 总结

前言

大家好,我是辣条

相信大家都能感觉到最近天气的多变,好几次出门半路天气转变。辣条也深受其扰,直接给我整感冒,就差被隔离起来了,既然天气我没法做主,那不如用python整个天气爬虫来获取天气情况。这样也好可以进行一个提前预防

工具

python3.7

pycharm

pyttsx3:语音播报库

天气数据来源

找寻一个天气网站

比如说我们要查询某地的天气,在输入地名后就能看到结果。

我们可以看到网站的url会有变化:

每个城市的天气信息url就是在网站后面加上城市拼音,既然如此可以使用函数形参来解决城市输入问题。

代码实现

# 获取天气的方法
def get_weather(city):
    # 天气的网站网址  字符串
    url = 'https://www.tianqi.com/' + city + '/'

    # 伪装浏览器的马甲
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.58'
    }

    # 发起网络请求并获取网页代码
    website = requests.get(url=url, headers=headers)

    data = etree.HTML(website.text)     # 数据预处理
	#xpath解析页面天气数据
    weather_list = data.xpath('//dl[@class="weather_info"]//text()')

    weather_text = '欢迎使用天气播报助手,以下是你想要了解的城市天气:\n'

    for text in weather_list:
        weather_text += text
        if weather_text.find('[切换城市]'):
            weather_text = weather_text.strip('[切换城市]')

    print(weather_text)
    return weather_text

这样就通过爬虫就获取到了每个城市的天气数据,再通过pyttsx3构建出语音对象实例,将天气文本放进去运行就可以了。

if __name__ == '__main__':
    city = input('请输入您的城市,例如长沙:changsha-->').strip()
    weather_info = get_weather(city)        # weather_info来获取抓取到的天气文字
    weather = pyttsx3.init()            # 初始化说话的对象
    weather.say(weather_info)           # 设置说话内容
    weather.runAndWait()                # 开始执行说话的操作

总结

这才是物理阶层的未雨绸缪,贯穿用魔法打败魔法的原理~ 哈哈哈

到此这篇关于利用Python制作一个简单的天气播报系统的文章就介绍到这了,更多相关Python天气播报系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用Python定时发送天气邮件

    效果如图 一.获取天气 def getWeather1(city): try: appid = os.environ["TIANQI_APPID"] appsecret = os.environ["TIANQI_APPSEC"] except KeyError: appid = 'x'x'x'x' #www.tianqiapi.com申请的appid,有免费 api appsecret = 'xxxx' #在www.tiaSnqiapi.com申请的appsecre

  • Python脚本制作天气查询实例代码

    获取天气的主要代码如下: # cityCode 替换为具体某一个城市的对应编号 # 1.发送请求,获取数据 url = f'http://wthrcdn.etouch.cn/weather_mini?citykey={cityCode}' res = requests.get(url) res.encoding = 'utf-8' res_json = res.json() # 2.数据格式化 data = res_json['data'] city = f"城市:{data['city']}\

  • Python天气语音播报小助手

    导语​ 马上就要迎来国庆小长假了~激不激动,兴不兴奋!​ ​ 那今年国庆:天气怎么样?能不能出门逛街?能不能出去旅游? -- 来来来,木木子为你整理好啦!​​这个假期,你那里的天气如何? ​ 正文 旅游出门就要挑个好的天气!下雨天哪儿哪儿都不舒服. 今天小编带大家写一款Python天气语音播报小助手! 环境安装:Python3.6.pycharm2021.及自带的模块等. pip install -i https://pypi.douban.com/simple/ requests pip in

  • Python3爬虫之自动查询天气并实现语音播报

    一.写在前面 之前写过一篇用Python发送天气预报邮件的博客,但是因为要手动输入城市名称,还要打开邮箱才能知道天气情况,这也太麻烦了.于是乎,有了这一篇博客,这次我要做的就是用Python获取本机IP地址,并根据这个IP地址获取物理位置也就是我所在的城市名称,然后用之前的办法实现查询天气,再利用百度语音得到天气预报的MP3文件,最后播放,这样是不是就很方(tou)便(lan)了呢? 二.具体步骤 这次有四个py文件:get_ip.py,get_wather.py,get_mp3.py和main

  • 使用python实现定时报天气的示例代码

    前言 如果你和我一样偶尔看看股票,看看自己关注的股票是涨了还是跌了,或者想快速获取到想看的头条新闻,我们不必把过多的注意力放在去寻找上面,我们只需要让爬虫程序每天自动为你发送你想要了解的信息就可以了,这样就能掌控我们的注意力,更好的去享受生活. 一.分析爬取目标 这里就不爬取股票的信息,我来爬一个天气预报的信息,然后实现每天定时发送.打开下面的链接就能跳转到中国气象网 http://www.weather.com.cnnn/ 点击温度那个位置就可以进入下面的图 我们可以看到7天的天气和8-15天

  • 利用Python制作一个简单的天气播报系统

    目录 前言 工具 天气数据来源 代码实现 总结 前言 大家好,我是辣条 相信大家都能感觉到最近天气的多变,好几次出门半路天气转变.辣条也深受其扰,直接给我整感冒,就差被隔离起来了,既然天气我没法做主,那不如用python整个天气爬虫来获取天气情况.这样也好可以进行一个提前预防 工具 python3.7 pycharm pyttsx3:语音播报库 天气数据来源 找寻一个天气网站 比如说我们要查询某地的天气,在输入地名后就能看到结果. 我们可以看到网站的url会有变化: 每个城市的天气信息url就是

  • 一文教你利用Python制作一个生日提醒

    目录 1. 实战 1-1  安装依赖 1-2  创建数据表 1-3  查询数据 1-4  遍历,获取距离今天的天数 1-5  组装数据及消息推送 在国内,大部分人都是过农历生日,然后借助日历工具获取农历日期对应的阳历日期,以这一天来过生! 这里还有一个痛点,即:每一年的农历生日对应的阳历日期都不一样 本篇文章将教你利用 Python 制作一个简单的生日提醒 1. 实战 具体操作步骤如下 1-1  安装依赖 # 安装依赖 pip3 install zhdate pip3 install pymys

  • 利用Python制作一个MOOC公开课下载器

    目录 导语 开发工具 环境搭建 先睹为快 原理简介 导语 记得很久以前写过一些中国大学MOOC上的视频下载器,不过好像都已经年久失修了.正好最近有需要,所以重新写了一个,顺便上来分享一波,寒假大家也可以用它来下载点课程内卷一下: 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: DecryptLogin模块: tqdm模块: click模块: argparse模块: 以及一些python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的

  • 如何利用PyQt5制作一个简单的登录界面

    目录 环境配置 额外工具配置 生成UI界面 总结 环境配置 新建python虚拟环境并激活 conda create -n pyqt python=3.8 conda activate py36 安装pyqt5 pip install pyqt5 安装pyqt5-tools pip install pyqt5-tools 在PyCharm中新建一个qtdemo工程,并使用这个新建的python虚拟环境作为工程环境 额外工具配置 依次点击File---Settings---Tools---Exte

  • 如何利用Python开发一个简单的猜数字游戏

    前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(high)"还是"小(low)",如此往复直到玩家猜对数字. 准备好Python3 首先,需要在计算机上安装Python.可以从Python官网下载并安装.本教程需要使用最新版的Python 3(版本3.x.x). 确保选中将Python添加到PATH变量的框.如果不这样做,将很难运行该程序.

  • python制作一个简单的gui 数据库查询界面

    一.准备工作: 1.安装mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据 (以上工作直接用navicat for mysql工具完成) 二.代码: import sys import tkinter as tk import mysql.connector as sql #--------------------查询函数--------------------------- def sql_connect(): listbox_show.del

  • 利用Python实现一个简单的Web汇率计算器

    目录 Dash是什么 网页搭建步骤 安装相关依赖(库) 导入相关包 构建app 构建结果输出函数 网页结构Layout搭建 callback回调参数设定 界面效果 前段时间刚接触到前端网页开发,但是对于刚入门的小白而言,像flask.Django等这类稍大型的框架确实不太适合,今天这个Dash是集众家之长于一体的轻量化Web开发库. Dash是什么 Dash 是一个用于构建基于 Web 的应用程序的 Python 库,无需 JavaScript . Dash 同时也是用于创建分析 Web 应用程

  • nodejs教程之制作一个简单的文章发布系统

    前言 我们今天就来做一个简单的新闻发布系统,系统第一阶段不需要太难,主要有以下功能 ① 新闻类型管理 ② 新闻管理(具有图片上传功能) ③ 新闻浏览 功能虽然不多,但是也涵盖很多基本操作了,程序不过增删查改嘛,外加上传附件,够了.于是开始我们今天的学习吧 准备工作 根据昨天的折腾后,我们已经有了nodeJS与mongoDB环境了,现在直接新建工程文件与数据库文件即可 第一步,打开命令符切换到D盘后输入 复制代码 代码如下: D:\>express -e news 于是系统会自动开开心心构建基本环

  • 手把手教你利用Python创建一个游戏窗口

    目录 前言 安装Pyagme 检查是否安装Pygame:  一 (检查python是否配置环境变量) 检查是否安装Pygame:  二 (检查pygame是否安装) 未安装Pygame : 一 (检查是否安装pip) 未安装Pygame : 二 (利用pip安装Pygame) 步入正题: 利用Pygame制作一个简单的游戏窗口 总结: 前言 想要利用Python创建一个游戏窗口就需要用到一个强大的第三方功能库: Pygame 那么既然需要用到Pygame这个第三方库 所以在写程序之前需要做一个准

  • Python利用PyQt5制作一个获取网络实时NBA数据并播报的GUI程序

    制作NBA数据爬虫 捋顺思路 我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相关的数据 我们点击进去后,可以发现这是一个非常简洁的网址 我们看一下这个地址栏,发现毫无规律https://tiyu.baidu.com/live/detail/576O5Zu955S35a2Q6IGM5Lia56%2Bu55CD6IGU6LWbI2Jhc2tldGJhbGwjMjAyMS0wNi0xMyPniLXlo6t2c%2BWspritq%2Bi

随机推荐