python获取北京的历史两天的气象数据
时间: 2024-12-19 07:16:58 浏览: 4
使用Python进行气象数据分析与可视化.zip
5星 · 资源好评率100%
要获取北京的历史两天气象数据,你可以使用Python的`requests`库来访问开放的天气API,例如中国国家气象局的API或者其他公开的数据源。这里以`requests`为例,假设你打算使用`pyowm`库(一个OpenWeatherMap的Python客户端)来获取数据,因为它的数据易于获取并且免费:
首先,你需要安装`pyowm`库,可以通过pip安装:
```bash
pip install pyowm
```
然后,使用下面的代码片段获取这两天的北京气象数据(假设你已经有了API密钥):
```python
import requests
from datetime import timedelta, datetime
# 安装好pyowm后,替换YOUR_API_KEY为你自己的OpenWeatherMap API密钥
api_key = "YOUR_API_KEY"
city_id = "IN008069" # 北京的ID,可根据实际API获取
# 获取当前日期的前一天和前两天
current_date = datetime.now()
past_two_days = [current_date - timedelta(days=d) for d in range(2)]
# 创建OWM Client
owm = pyowm.OWM(api_key)
# 遍历这两天,获取每个日期的天气数据
weather_data = []
for day in past_two_days:
# 调用API获取指定城市的过去天气数据
observation = owm.weather_at_place(f"{day.strftime('%Y-%m-%d')}, {city_id}")
w = observation.get_weather()
# 提取所需信息,如温度、湿度等
data = {
'date': day.strftime('%Y-%m-%d'),
'temperature': w.temperature('celsius')['temp'],
'humidity': w.humidity,
# 根据实际情况添加其他你想获取的天气属性
}
weather_data.append(data)
# 打印或进一步处理数据
for data in weather_data:
print(data)
```
请注意,这个例子依赖于具体的API接口和其返回的数据结构,如果实际的API或库有所不同,可能需要调整代码。
阅读全文