python查询天气小程序

python查询天气小程序原标题:python查询天气小程序

导读:

大家好!今天想和大家分享一个超级实用的技能,那就是如何用Python编写一个查询天气的小程序,相信很多人每天出门前都会关注一下天气状况,这个小程序就能帮你轻松搞定,下面就让我们...

大家好!今天想和大家分享一个超级实用的技能,那就是如何用Python编写一个查询天气的小程序,相信很多人每天出门前都会关注一下天气状况,这个小程序就能帮你轻松搞定,下面就让我们一起来看看如何实现吧!

我们需要准备一些工具和库,这里要用到的库有requests、BeautifulSoup和prettytable,requests库用于发送网络请求,BeautifulSoup用于解析网页,prettytable用于将数据以表格形式展示。

安装库

在开始编写代码之前,我们需要先安装上述库,打开命令行工具,输入以下命令:

pip install requests
pip install beautifulsoup4
pip install prettytable

编写代码

我们正式开始编写查询天气的小程序,以下是完整的代码:

import requests
from bs4 import BeautifulSoup
from prettytable import PrettyTable
def get_weather(city):
    # 构建URL
    url = f'http://www.weather.com.cn/weather/{city}.shtml'
    # 发送请求
    response = requests.get(url)
    response.encoding = 'utf-8'
    # 解析网页
    soup = BeautifulSoup(response.text, 'html.parser')
    # 获取天气信息
    weather_list = soup.find('div', class_='c7d').find_all('li')
    # 创建表格
    table = PrettyTable(['日期', '天气', '最高温度', '最低温度'])
    for day in weather_list:
        date = day.find('h1').text
        wea = day.find('p', class_='wea').text
        tem_max = day.find('p', class_='tem').span.text
        tem_min = day.find('p', class_='tem').i.text
        table.add_row([date, wea, tem_max, tem_min])
    return table
# 主函数
def main():
    city = input("请输入你要查询的城市拼音(beijing):")
    weather_table = get_weather(city)
    print(weather_table)
if __name__ == '__main__':
    main()

代码解析

  1. 我们定义了一个函数get_weather,它接收一个参数city,表示要查询的城市。

  2. 构建URL,这里我们使用了天气网的拼音城市页面。

    python查询天气小程序

  3. 发送网络请求,获取网页内容。

  4. 使用BeautifulSoup解析网页,找到包含天气信息的标签。

  5. 遍历天气信息,提取日期、天气、最高温度和最低温度,并将它们添加到表格中。

  6. 返回表格。

  7. 主函数main用于接收用户输入的城市,并调用get_weather函数获取天气信息,然后打印出来。

运行程序

将上述代码保存为weather.py,然后在命令行中运行:

python weather.py

根据提示输入你要查询的城市拼音,如“beijing”,然后按下回车键,稍等片刻,程序就会输出该城市未来几天的天气信息。

通过这个小程序,你就可以随时随地查询到全国各地的天气情况,是不是很方便呢?这个程序还可以继续优化,比如添加更多的功能(如查询空气质量、风速等),或者使用更美观的UI界面,感兴趣的朋友可以继续深入研究,打造出更强大的天气查询工具!以上就是今天的分享,希望对大家有所帮助!🎉🎉🎉

返回列表
上一篇:
下一篇: