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()代码解析
我们定义了一个函数
get_weather,它接收一个参数city,表示要查询的城市。构建URL,这里我们使用了天气网的拼音城市页面。
发送网络请求,获取网页内容。
使用BeautifulSoup解析网页,找到包含天气信息的标签。
遍历天气信息,提取日期、天气、最高温度和最低温度,并将它们添加到表格中。
返回表格。
主函数
main用于接收用户输入的城市,并调用get_weather函数获取天气信息,然后打印出来。
运行程序
将上述代码保存为weather.py,然后在命令行中运行:
python weather.py根据提示输入你要查询的城市拼音,如“beijing”,然后按下回车键,稍等片刻,程序就会输出该城市未来几天的天气信息。
通过这个小程序,你就可以随时随地查询到全国各地的天气情况,是不是很方便呢?这个程序还可以继续优化,比如添加更多的功能(如查询空气质量、风速等),或者使用更美观的UI界面,感兴趣的朋友可以继续深入研究,打造出更强大的天气查询工具!以上就是今天的分享,希望对大家有所帮助!🎉🎉🎉





