Python调用百度地图API获取地址经纬度完整指南

凌晨两点半
凌晨两点半
发布时间:2026-10-13| 1人浏览过
原创

本文详细介绍如何使用Python调用百度地图API获取指定地址的经纬度。内容涵盖从开发者中心申请AK和SK密钥、配置SN校验方式,到使用Python3计算SN签名及构造最终请求URL的全过程。通过具体代码示例和返回结果解析,帮助开发者快速实现地理编码功能。

前言

近期时间较为充裕,笔者接触了百度地图开放平台(开发者中心链接:http://developer.baidu.com)的API接口,发现其调用过程十分便捷。本文将系统性地讲解如何利用Python通过百度地图API获取特定地址的经纬度坐标,分享具体实现步骤供读者参考学习。

申请百度API

首先访问网址 http://lbsyun.baidu.com/index.php?title=首页 。

在功能与服务栏目中选择“地图”,点击左侧的“获取密匙”选项。随后按照页面提示完成申请流程,该过程需要进行手机验证、绑定百度账号以及邮箱认证。

激活账号后可进入后台管理页面,此时可以开始创建应用。在请求校验方式上,系统提供两种选择:一种是白名单IP模式,另一种是SN校验模式(界面旁附有计算说明)。此处我们选择SN校验方式。

应用创建成功后,系统将生成对应的AK(Access Key)和SK(Secret Key)。接下来将详细说明如何基于这两个密钥计算SN值。

计算SN(基于Python3.x环境)

from urllib import parse
import hashlib 
def get_urt(addtress): 
 # 以get请求为例http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=你的ak
 queryStr = '/geocoder/v2/?address=%s&output=json&ak=你的ak' % addtress 
 # 对queryStr进行转码,safe内的保留字符不转换
 encodedStr = parse.quote(queryStr, safe="/:=&?#+!$,;'@()*[]") 
 # 在最后直接追加上yoursk
 rawStr = encodedStr + '你的sk' 
 #计算sn
 sn = (hashlib.md5(parse.quote_plus(rawStr).encode("utf8")).hexdigest())  
 #由于URL里面含有中文,所以需要用parse.quote进行处理,然后返回最终可调用的url
 url = parse.quote("http://api.map.baidu.com"+queryStr+"&sn="+sn, safe="/:=&?#+!$,;'@()*[]")  
 return url

构造好的URL可直接在浏览器或代码中访问,接口返回的数据格式为JSON,示例如下所示。

{"status":0,"result":{"location":{"lng":116.50104690641698,"lat":39.79092147361288},"precise":1,"confidence":80,"level":"地产小区"}}

总结

以上即为本文的全部内容,希望本文介绍的Python调用百度地图API获取经纬度的方法能对各位的学习或工作有所帮助。若在阅读或实践中有任何疑问,欢迎留言交流,感谢大家对本站的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。