python3+高德地图 获取各地区天气

使用python3+高德地图API 来获取各地区天气情况

说明:个人开发使用时想到获取天气看看情况,然后找到了高德的API,获取各个地区的天气情况

高德地图开发平台:https://lbs.amap.com/

  1. 老规矩,先注册登录。注册成功返回高德开发平台的首页。
  2. 点击头像——>选择应用管理 或者 点击控制台——>选择应用管理
    在这里插入图片描述
  3. 点击应用管理——>选择我的应用——>点击创建新应用 在这里插入图片描述
  4. 输入自己的应用名称,然后选择应用类型为天气,点击创建该应用。在这里插入图片描述
  5. 创建完应用之后,可以看到自己的应用已经创建成功,我们点击添加,去添加我们天气API的服务。服务平台选择Web服务,可以看到可使用服务里的天气查询API,然后同意高德地图的政策,点击提交。
    注意:点击天气服务API可以跳转到天气查询的API文档
    在这里插入图片描述
  6. 添加完成之后,可以查看到自己应用的key。这个key就是我们后端程序要使用的key。
    在这里插入图片描述

文档使用说明:

天气查询API文档地址:https://lbs.amap.com/api/webservice/guide/api/weatherinfo

第一步,申请”web服务 API”密钥(Key);

第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;

第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。

天气查询的URL

URL:https://restapi.amap.com/v3/weather/weatherInfo?parameters
请求方式:GET
请求参数:key:你的应用key
                  city:查询城市的城市编码,下载城市编码文档
                  extensions:天气类型:base/all。base:返回实况天气;all:返回预报天气。根据具体情况选择。

示例代码

import requests

url = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters'
params_realtime = {
    'key':'你的应用key',
    'city':'360731', # 从城市编码里获取的a丢包code
    'extensions':'base' # 获取实时天气
}
params_estimate = {
    'key':'你的应用key',
    'city':'360731',
    'extensions':'all' #获取预报天气
}

res = requests.get(url=url,params=params_estimate) # 预报天气
res2 = requests.get(url=url,params=params_realtime) # 实时天气
tianqi = res.json()
print(tianqi)
tianqi2 = res2.json()
print(tianqi2)

# print(tianqi.get('forecasts'))
# province = tianqi.get('forecasts')[0].get("province") # 获取省份
province = tianqi['forecasts'][0]["province"] # 获取省份
city = tianqi.get('forecasts')[0].get("city") # 获取城市
adcode = tianqi.get('forecasts')[0].get("adcode") # 获取城市编码
reporttime = tianqi.get('forecasts')[0].get("reporttime") # 获取发布数据时间
date = tianqi.get('forecasts')[0].get("casts")[0].get('date') # 获取日期
week = tianqi.get('forecasts')[0].get("casts")[0].get('week') # 获取星期几
dayweather = tianqi.get('forecasts')[0].get("casts")[0].get('dayweather') # 白天天气现象
nightweather = tianqi.get('forecasts')[0].get("casts")[0].get('nightweather') # 晚上天气现象
daytemp = tianqi.get('forecasts')[0].get("casts")[0].get('daytemp') # 白天温度
nighttemp = tianqi.get('forecasts')[0].get("casts")[0].get('nighttemp') # 晚上温度
daywind = tianqi.get('forecasts')[0].get("casts")[0].get('daywind') # 	白天风向
nightwind = tianqi.get('forecasts')[0].get("casts")[0].get('nightwind') # 晚上风向
daypower = tianqi.get('forecasts')[0].get("casts")[0].get('daypower') # 白天风力
nightpower = tianqi.get('forecasts')[0].get("casts")[0].get('nightpower') # 晚上风力

print("省份:",province)
print("城市:",city)
print("城市编码:",adcode)
print("发布数据时间:",reporttime)
print("日期:",reporttime)
print("星期:",week)
print("白天天气现象:",dayweather)
print("晚上天气现象:",nightweather)
print("白天温度:",daytemp)
print("晚上温度:",nighttemp)
print("白天风向:",daywind)
print("晚上风向:",nightwind)
print("白天风力:",daypower)
print("晚上风力:",nightpower)
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值