> 文档中心 > Python Requests实现天气预报

Python Requests实现天气预报

Python Requests实现天气预报

  • 前提条件
  • 相关介绍
  • 实验环境
  • 天气预报
    • 目标网址
    • 实现步骤
    • 代码实现
    • 输出结果

前提条件

  • 熟悉Python
  • 熟悉Requests
  • 熟悉XPath
  • 熟悉Pyttsx3

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • Requests是一个很实用的Python HTTP客户端库。
  • Lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息。
  • XPath 是一门在 XML 文档中查找信息的语言, XSLT 中的主要元素,XQuery 和 XPointer 均构建于 XPath 表达式之上。
  • Pyttsx3是 Python 中的文本到语音转换库。

实验环境

  • Python 3.x (面向对象的高级语言)
  • Requests(Python第三方库)pip3 install requests
  • Lxml(python第三方库)pip3 install lxml
  • Pyttsx3(Python第三方库) pip3 install pyttsx3

天气预报

目标网址

https://www.tianqi.com

实现步骤

  1. 设置网址和请求头
  2. 向网址发送请求并获取数据
  3. 筛选并过滤掉无用信息(如空格、不重要字符等)
  4. 把文字转化为语音

代码实现

import pyttsx3 # 语音播放库import requestsfrom lxml import etree# 城市city = 'shenzhen'# 目标网址url = 'https://www.tianqi.com/%s/'%city# 请求头,伪装成浏览器headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36' }# 向网址发送请求并获取数据response = requests.get(url=url,headers=headers)# print(response.text)# 筛选信息data = etree.HTML(response.text)weather_list =  data.xpath('//dl[@class="weather_info"]//text()')# print(weather_list)# 将主要的信息拼在一起,即拼接成一个字符串weather_text = ''for text in weather_list:    weather_text +=text# 用空格替换掉字符weather_text = weather_text.replace('[切换城市]',' ')print(weather_text)# 初始化一个说话对象weather = pyttsx3.init()# 设置说话内容weather.say(weather_text)# 开始执行weather.runAndWait()

输出结果

在这里插入图片描述

Python实现天气预报

更多精彩内容,可点击进入Python日常小操作专栏查看

游戏市场