脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 利用Python制作一个简单的天气播报系统

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

2022-12-30 13:40五包辣条! Python

最近天气的多变,好几次出门半路天气转变。本文将利用python整个天气爬虫来获取天气情况。这样也好可以进行一个提前预防,感兴趣的可以动手试一试

前言

大家好,我是辣条

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

 

工具

python3.7

pycharm

pyttsx3:语音播报库

 

天气数据来源

找寻一个天气网站

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

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

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

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

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

每个城市的天气信息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天气播报系统内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/AI19970205/article/details/124696852

延伸 · 阅读

精彩推荐
  • Python解决python3中自定义wsgi函数,make_server函数报错的问题

    解决python3中自定义wsgi函数,make_server函数报错的问题

    下面小编就为大家分享一篇解决python3中自定义wsgi函数,make_server函数报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    5K小码4312020-12-19
  • Pythonpython实现各进制转换的总结大全

    python实现各进制转换的总结大全

    这篇文章主要给大家总结了python实现各进制转换的相关资料,其中包括字符串与十六进制转换、内置函数hex()与进制互转等相关内容,需要的朋友可以参考...

    blogsir14232020-11-18
  • Python利用Python爬虫给孩子起个好名字

    利用Python爬虫给孩子起个好名字

    每个人一生中都会遇到一件事情,在事情出现之前不会关心,但是事情一旦来临就发现它极其重要,并且需要在很短的时间内做出重大决定,那就是给自己...

    Crazyant5952020-09-21
  • Pythonpython根据开头和结尾字符串获取中间字符串的方法

    python根据开头和结尾字符串获取中间字符串的方法

    这篇文章主要介绍了python根据开头和结尾字符串获取中间字符串的方法,涉及Python操作字符串截取的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    songguo21242020-05-24
  • Python使用python实现三维图可视化

    使用python实现三维图可视化

    这篇文章主要介绍了使用python实现三维图可视化,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    自然卷卷、9692021-10-11
  • Pythonpython中map()函数使用方法详解

    python中map()函数使用方法详解

    map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用。这篇文章主要介绍了Python中 map()的...

    IT之一小佬8492021-12-22
  • PythonPython多进程multiprocessing.Pool类详解

    Python多进程multiprocessing.Pool类详解

    这篇文章主要为大家详细介绍了Python多进程multiprocessing.Pool类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    世界看我我看世界10702021-02-06
  • PythonPython编程中非常重要却又被严重低估的库decorator

    Python编程中非常重要却又被严重低估的库decorator

    今天介绍的是一个已经存在十年,但是依旧不红的库 decorator,好像很少有人知道他的存在一样。本篇文章不会过多的向你介绍装饰器的基本知识,我会默认...

    写代码的明哥5382022-02-17