案例篇: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 += textif 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天气播报系统,这才是未雨绸缪相关推荐
- 17 | 案例篇:如何利用系统缓存优化程序的运行效率?
上一节,我们学习了内存性能中 Buffer 和 Cache 的概念.简单复习一下,Buffer 和 Cache 的设计目的,是为了提升系统的 I/O 性能.它们利用内存,充当起慢速磁盘与快速 CPU ...
- python天气查询系统有什么知识点_Python入门 天气查询程序
刚入门python,借鉴了论坛上前人写的天气查询程序 通过使用中国天气网的API接口来实现 如图: 贴上源代码,希望大家评论交流: import urllib.request import gzip ...
- Python订票系统这才是看电影选座的正确方法,原来我们都上当了
PS:"天上的每一颗星,都是爱过我们的人." 不要太过惋惜亲人的离去,因为早晚有一天我们会在天上重逢. 在人间活着的日子,我们都有一个归期,而那些逝去的人,会希望我们好好地活下去. ...
- python全栈(中国历史天气可视化系统)
在前面博客中写过python爬虫爬取各个城市历史天气及数据可视化,感觉还是有点粗糙,本文章是借这个例子抛砖引玉,写出个更NB的python全栈项目. 此项目预览页面全国各城市天气可视化系统 scrap ...
- [Python从零到壹] 六十一.图像识别及经典案例篇之基于纹理背景和聚类算法的图像分割
祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...
- 基于python的数据分析系统,python数据分析经典案例
大家好,本文将围绕利用python进行数据分析案例展开说明,基于python的数据分析系统是一个很多人都想弄明白的事情,想搞清楚基于python的数据分析题目需要先了解以下几个事情. 1.如何利用py ...
- [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解
祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...
- 视频教程-跟着王进老师学开发Python篇:基础入门案例讲解-Python
跟着王进老师学开发Python篇:基础入门案例讲解 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥ ...
- [Python从零到壹] 六十.图像识别及经典案例篇之基于阈值及边缘检测的图像分割
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
最新文章
- vue 函数 路由跳转_vue路由的钩子函数和跳转
- 过来人告诉你Python应该这么学
- 利用逆矩阵解线性方程组_机器人学导论---第四章 操作臂逆运动学(一)4.1-4.11...
- C++primer 第 4 章 表达式 4.7条件运算符 4.8位运算符 4.9 sizeof运算符 4.10逗号运算符 4.11类型转换 4 . 1 2 运算符优先级表
- CentOS下yum操作gnome和kde桌面
- ThinkPHP5.0的访问路径随记
- linux系统切换清华源(自带的源下载速度太拉跨)
- 可怕!CPU 竟成了黑客的帮凶!
- MongoDB 宣布已收购数据库托管公司 mLab
- Flutter开发 Android Studio 安装第三方模拟器—网易MuMu
- SpringBoot整合Sharding-JDBC实现水平分库分表
- 简易学生管理系统(C语言)
- xp系统计算机无法连接远程桌面连接,完美解决精简版或者ghost版XP系统无法连接远程桌面的问题...
- 单向可控硅的工作原理
- Kindle禁止自动熄屏
- Netplus收发消息的基本流程
- 《大明王朝的七张面孔》——海瑞
- Flutter 1.17版本重磅发布
- Win10 NVIDIA Container占用CPU高的处理方法
- (实用简单版)latex如何书写算法algorithm