简介:本文将介绍如何使用Python爬取城市天气数据,并使用Matplotlib和Seaborn库进行数据可视化。通过爬取天气数据,我们可以了解不同城市的天气状况,并通过可视化图表来展示数据,从而更好地理解天气趋势和规律。
在Python中,我们可以使用requests库来爬取城市天气数据。以下是一个简单的示例代码,演示如何爬取中国天气网的天气数据:
import requestsimport jsonimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns# 定义要爬取的城市和日期city = '北京'date = '2023-03-15'# 构造请求URLurl = f'http://www.tianqi.com/weather_forecast/{city}.html'# 发送请求并获取响应response = requests.get(url)data = response.json()# 将数据存储为CSV文件df = pd.DataFrame(data['forecast'], columns=['date', 'high', 'low', 'weather', 'wind'])df.to_csv(f'weather_{city}_{date}.csv', index=False)
在上面的代码中,我们首先定义了要爬取的城市和日期,然后构造了请求URL。接着,我们使用requests库发送GET请求,并获取到响应。最后,我们将响应中的数据存储为CSV文件。
接下来,我们可以使用Matplotlib和Seaborn库进行数据可视化。以下是一个简单的示例代码,演示如何绘制城市温度和天气状况的条形图:
# 读取CSV文件中的数据df = pd.read_csv(f'weather_{city}_{date}.csv')# 绘制温度条形图plt.figure(figsize=(10, 5))plt.bar(df['date'], df['high'] - df['low'], color='skyblue')plt.xticks(rotation=45)plt.title(f'{city} {date} 温度分布')plt.xlabel('日期')plt.ylabel('温度范围')plt.show()