Python调用百度API 实现地理位置经纬度坐标转换

简介: 经纬度坐标转换最常见办法就是调用第三方 API,例如百度、高德地图等服务平台,提供了相应的功能接口,它们的这类技术已经非常成熟啦,准确稳定,关键还是免费的 ~,本期教程以百度为例(高德的用方类似),介绍一下其用法

1.1,用百度账号登陆百度地图控制台

百度地图开放平台

1.2,创建一个应用,获取 AK 参数

登录控制台之后,选择左侧 应用管理-> 我的应用 -> 创建应用

创建应用页面中有三项信息需要填写

  • 应用名称,无限制随意填写即可;
  • 应用类型 ,选择服务端
  • IP 白名单,只是个人简单测试的话0.0.0.0/0 即可,如果考虑安全问题, 可以将自己的 IP 填进去, AK 参数泄露的话非本机 IP 无法访问,这样也不用担心额度被其他用户盗用




1.3,地理编码、逆地理编码

经纬度地理位置根据转换方向分为两类,接下来我们分别演示一下其用法:

  • 地理编码: 将地理地址转换为坐标点(经纬度);
  • 逆地理编码,将经纬度转化为地理地址;


1.3.1 地理编码

下面就是 Python 测试代码块,将 AK 参数(前面申请到的)和你需要转换的地理位置拼接到 官方提供的 url 中,用 requests 访问即可,



import requests
import json
import re
AK = '你的AK'
address ='北京市海淀区上地十街10号'
url = 'http://api.map.baidu.com/geocoding/v3/?address={}&output=json&ak={}&callback=showLocation'.format(address,AK)
res = requests.get(url)
print(res.text)
results = json.loads(re.findall(r'\((.*?)\)',res.text)[0])
print('\n')
print('location is ',results['result']['location'])

输出结果如下

showLocation&&showLocation({"status":0,"result":{"location":{"lng":116.3084202915042,"lat":40.05703033345938},"precise":1,"confidence":80,"comprehension":100,"level":"门址"}})
location is  {'lng': 116.3084202915042, 'lat': 40.05703033345938}

1.3.2 逆地理编码

逆地理编与地理编码用法相似

lat = '40.05703033345938'
lng = '116.3084202915042'
AK = '你的AK'
url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={}&output=json&coordtype=wgs84ll&location={},{}'.format(AK,lat,lng)
res = requests.get(url)
print(res.text)
address = json.loads(res.text)['result']['formatted_address']
print('\n')
print('address is ',address)

像我们这类免(bai) 费 piao) 用户,借助百度 API 每天最高可调用 6000 次,这个量级基本上能满足我们日常需要,但如果这个数量满足不了你的话,可以在线购买更高的使用额度

相关文章
|
11天前
|
数据采集 监控 搜索推荐
基于python的百度资讯爬虫的设计与实现
本文介绍了一个基于Python语言的网络爬虫设计与实现,该爬虫利用urllib.request和BeautifulSoup库从百度新闻中抓取新闻标题、链接、内容摘要和来源信息,通过模拟浏览器行为和添加随机等待时间来规避反爬机制,为新闻数据分析和舆情监控提供支持。
|
28天前
|
开发框架 JSON API
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
【7月更文挑战第22天】在Python Web开发中,设计高效的RESTful API涉及选择框架(如Flask或Django)、明确资源及使用HTTP方法(GET, POST, PUT, DELETE)来操作数据。响应格式通常是JSON,错误处理也很重要。示例展示了使用Flask创建图书管理API,包括版本控制、文档化、安全性和性能优化是最佳实践。这样的API使数据交互更顺畅。
57 2
|
4天前
|
弹性计算 API 开发工具
揭秘Python与阿里云API的神秘邂逅!流式处理的魔法之旅,一场颠覆想象的技术盛宴!
【8月更文挑战第15天】在数字世界的广阔舞台上,Python与阿里云API的相遇,就像是一场命中注定的邂逅。它们携手共舞,为我们带来了流式处理的魔法之旅。本文将揭开这场神秘邂逅的面纱,带你领略Python与阿里云API之间的奇妙互动。让我们一起踏上这场颠覆想象的技术盛宴,探索流式处理的无限可能!
21 7
|
4天前
|
程序员 数据库连接 API
分享一个解决 EF 性能低的思路,通过 Python 访问心跳侦测 API 保持 EF 在线
分享一个解决 EF 性能低的思路,通过 Python 访问心跳侦测 API 保持 EF 在线
|
7天前
|
JSON 算法 API
京东以图搜图功能API接口调用算法源码python
京东图搜接口是一款强大工具,通过上传图片即可搜索京东平台上的商品。适合电商平台、比价应用及需商品识别服务的场景。使用前需了解接口功能并注册开发者账号获取Key和Secret;准备好图片的Base64编码和AppKey;生成安全签名后,利用HTTP客户端发送POST请求至接口URL;最后解析JSON响应数据以获取商品信息。
|
11天前
|
数据采集 存储 自然语言处理
【优秀python案例】基于百度贴吧的数据采集与文本分析设计与实现
本文介绍了百度贴吧数据采集与文本分析的设计与实现,包括自动化采集帖子数据、进行情感分析和主题分析,以及使用可视化技术展示分析结果。
|
13天前
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
|
27天前
|
前端开发 API 数据库
告别繁琐,拥抱简洁!Python RESTful API 设计实战,让 API 调用如丝般顺滑!
【7月更文挑战第23天】在Python的Flask框架下构建RESTful API,为在线商店管理商品、订单及用户信息。以商品管理为例,设计简洁API端点,如GET `/products`获取商品列表,POST `/products`添加商品,PUT和DELETE则分别用于更新和删除商品。使用SQLAlchemy ORM与SQLite数据库交互,确保数据一致性。实战中还应加入数据验证、错误处理和权限控制,使API既高效又安全,便于前端或其他服务无缝对接。
47 9
|
26天前
|
JSON API 开发者
惊!Python Web开发新纪元,RESTful API设计竟能如此性感撩人?
【7月更文挑战第24天】在 Python Web 开发领域, RESTful API 设计成为一种艺术, 关注用户体验与开发者友好性。
39 7
|
27天前
|
JSON API 数据格式
深度剖析!Python Web 开发中 RESTful API 的每一个细节,你不可不知的秘密!
【7月更文挑战第23天】在Python Web开发中,RESTful API利用HTTP协议构建强大、灵活的应用。GET获取资源,如`/products/:id`;POST创建新资源;PUT更新;DELETE删除。正确使用状态码,如200、201、404、500,至关重要。JSON化数据与版本控制(如`/v1/products`)增强API实用性。认证(OAuth, JWT)保障安全性,而清晰的错误消息提升用户体验。掌握这些细节,方能设计出高性能、易用的RESTful API。
46 7