前言

​ 大家好,我是辣条

相信大家都能感觉到最近天气的多变,好几次出门半路天气转变。辣条也深受其扰,直接给我整感冒,就差被隔离起来了,既然天气我没法做主,那不如用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天气播报系统,这才是未雨绸缪相关推荐

  1. 17 | 案例篇:如何利用系统缓存优化程序的运行效率?

    上一节,我们学习了内存性能中 Buffer 和 Cache 的概念.简单复习一下,Buffer 和 Cache 的设计目的,是为了提升系统的 I/O 性能.它们利用内存,充当起慢速磁盘与快速 CPU ...

  2. python天气查询系统有什么知识点_Python入门 天气查询程序

    刚入门python,借鉴了论坛上前人写的天气查询程序 通过使用中国天气网的API接口来实现 如图: 贴上源代码,希望大家评论交流: import urllib.request import gzip ...

  3. Python订票系统这才是看电影选座的正确方法,原来我们都上当了

    PS:"天上的每一颗星,都是爱过我们的人." 不要太过惋惜亲人的离去,因为早晚有一天我们会在天上重逢. 在人间活着的日子,我们都有一个归期,而那些逝去的人,会希望我们好好地活下去. ...

  4. python全栈(中国历史天气可视化系统)

    在前面博客中写过python爬虫爬取各个城市历史天气及数据可视化,感觉还是有点粗糙,本文章是借这个例子抛砖引玉,写出个更NB的python全栈项目. 此项目预览页面全国各城市天气可视化系统 scrap ...

  5. [Python从零到壹] 六十一.图像识别及经典案例篇之基于纹理背景和聚类算法的图像分割

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  6. 基于python的数据分析系统,python数据分析经典案例

    大家好,本文将围绕利用python进行数据分析案例展开说明,基于python的数据分析系统是一个很多人都想弄明白的事情,想搞清楚基于python的数据分析题目需要先了解以下几个事情. 1.如何利用py ...

  7. [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  8. 视频教程-跟着王进老师学开发Python篇:基础入门案例讲解-Python

    跟着王进老师学开发Python篇:基础入门案例讲解 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ¥ ...

  9. [Python从零到壹] 六十.图像识别及经典案例篇之基于阈值及边缘检测的图像分割

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. vue 函数 路由跳转_vue路由的钩子函数和跳转
  2. 过来人告诉你Python应该这么学
  3. 利用逆矩阵解线性方程组_机器人学导论---第四章 操作臂逆运动学(一)4.1-4.11...
  4. C++primer 第 4 章 表达式 4.7条件运算符 4.8位运算符 4.9 sizeof运算符 4.10逗号运算符 4.11类型转换 4 . 1 2 运算符优先级表
  5. CentOS下yum操作gnome和kde桌面
  6. ThinkPHP5.0的访问路径随记
  7. linux系统切换清华源(自带的源下载速度太拉跨)
  8. 可怕!CPU 竟成了黑客的帮凶!
  9. MongoDB 宣布已收购数据库托管公司 mLab
  10. Flutter开发 Android Studio 安装第三方模拟器—网易MuMu
  11. SpringBoot整合Sharding-JDBC实现水平分库分表
  12. 简易学生管理系统(C语言)
  13. xp系统计算机无法连接远程桌面连接,完美解决精简版或者ghost版XP系统无法连接远程桌面的问题...
  14. 单向可控硅的工作原理
  15. Kindle禁止自动熄屏
  16. Netplus收发消息的基本流程
  17. 《大明王朝的七张面孔》——海瑞
  18. Flutter 1.17版本重磅发布
  19. Win10 NVIDIA Container占用CPU高的处理方法
  20. (实用简单版)latex如何书写算法algorithm

热门文章

  1. 技术类博客网站推荐(转)
  2. rto净化效率计算公式_详解用户正常使用海州RTO的天然气消耗量
  3. Android退到后台与切到前台
  4. 安吉尔直饮水设备保质交付,深圳湾公园直饮水保障完成
  5. Visual Studio环境编译和使用grpc框架
  6. 告诉你win10自带录屏怎么使用
  7. 异装癖者 transvestite
  8. Pandas选择数据
  9. win10卸载卡巴斯基后鼠标消失的解决方法
  10. 英语——'s和s'和s的区别