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界面,感兴趣的朋友可以继续深入研究,打造出更强大的天气查询工具!以上就是今天的分享,希望对大家有所帮助!🎉🎉🎉