栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号