一篇文章教你用python调用高德天气API

本文分享了一个使用高德地图API查询南京实时天气的Python代码示例,通过POST请求获取并解析天气信息,包括温度、风向、湿度等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在最前面:

 

最近好久不更新,因为在酝酿一件大事情。

 

key自己去高德天气申请,城市编码320100是南京,别的都可以照抄。

import requests


def getlocalweather():
    url = "https://restapi.amap.com/v3/weather/weatherInfo"
    key = '9bawhsfklsdjfsljflksdjd34kktj3'
    data = {'key': key, "city": 320100}
    req = requests.post(url, data)
    info = dict(req.json())
    info = dict(info)
    print(info)
    newinfo = info['lives'][0]
    #print(newinfo)
    print("你查询的当地天气信息如下:")
    print("省市:",newinfo['province']+newinfo['city'])
    print("城市:", newinfo['city'])
    print("编码:", newinfo['adcode'])
    print("天气:", newinfo['weather'])
    print("气温:", newinfo['temperature']+'℃')
    print("风向:", newinfo['winddirection'])
    print("风力:", newinfo['windpower'])
    print("湿度:", newinfo['humidity'])
    print("报告时间:", newinfo['reporttime'])


getlocalweather()

 

要计算徐汇区和浦东新区两个地点之间的实际距离,你可以利用高德地图API获取这两个地区的经纬度信息,并应用Haversine公式来计算。首先,确保你已经安装了requests库以发送HTTP请求,并熟悉如何获取和解析API返回的JSON数据。 参考资源链接:[Python实现高德地图API计算两地经纬度及距离教程](https://wenku.youkuaiyun.com/doc/645cb1a995996c03ac3ed2fb) 接下来,你需要编写代码来调用高德地图API获取地址对应的经纬度。以徐汇区和浦东新区为例,首先构建两个地址的URL请求,通过GET方法发送请求后,从返回的JSON响应中解析出所需的经纬度信息。 获取到经纬度信息后,使用Haversine公式将两点间的经纬度差异转换为实际的地理距离。Haversine公式可以计算出两个经纬度点之间的大圆距离,适用于短距离(不超过几百公里)的近似计算。其基本公式如下: \[ \text{distance} = 2 \times r \times \arcsin(\sqrt{h(\phi_1, \phi_2, \Delta\lambda)}) \] 其中,\( \phi \) 表示纬度,\( \Delta\lambda \) 表示经度差,\( r \) 是地球半径(通常取6371公里),而\( h \)是一个表达式,涉及到三角函数的运算。 将获取到的经纬度数据代入上述公式,即可计算出两点之间的距离。如果你希望更直观地理解这个过程,可以参考《Python实现高德地图API计算两地经纬度及距离教程》这篇文章,它详细介绍了如何通过Python编程实现这一功能,并包含了丰富的代码示例和解释,帮助你从基础概念到实际应用逐步掌握整个过程。 参考资源链接:[Python实现高德地图API计算两地经纬度及距离教程](https://wenku.youkuaiyun.com/doc/645cb1a995996c03ac3ed2fb)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值