当前位置: 首页 > news >正文

python网络爬虫笔记21:天地图解析服务调用教程

突然接到一个任务,要将一堆地址转化成经纬度,就试了一下使用天地图的地理编码解析服务。

官方提供的API如下:

解析结果的含义为:

其中的score没有解析,我猜测这个说的是返回结果的准确度;例如score=30表示这个地址的准确度只有30%。

整个过程倒是不难,但是主要注意http://api.tianditu.gov.cn/geocoder?ds={"keyWord":"北京市海淀区莲花池西路28号"}&tk=您的密钥

请求参数的ds是 {"keyWord":"你的地址"},一定要构造对,不然就会报错。

以下是我测试完之后,可以正常运行的代码:

import requests
import json
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
}
# https://api.tianditu.gov.cn/geocoder?ds={"keyWord":大雁塔北广场}&tk=901address = '北京市朝阳区建国门外大街10号'
tk = '901'
para = {'ds':'{"keyWord":'+ address + '}', 'tk':tk}
url = f'https://api.tianditu.gov.cn/geocoder'
respone = requests.get(url=url, headers=headers,params=para)
respone.encoding = 'UTF-8'
results = json.loads(respone.text)
if results['msg'] == 'ok':location = results['location']print(f'{location["lon"]},{location["lat"]}')
# print(results)

在浏览器验证的结果

程序输出的结果:

两个结果是是一致的。但是直接写大雁塔北广场,会报如下错误:

{'msg': '权限类型错误', 'resolve': '不支持的key类型!', 'code': 18}

而浏览器自己解析是正确的,这一点还挺奇怪的。

http://www.dtcms.com/a/271423.html

相关文章:

  • 正点原子学习 用户权限管理
  • 海康威视监控相机实时性研究
  • 深度学习遇到的问题
  • 一[3.7] YOLO系列基础(2)- “Bottleneck模块详解”
  • JavaScript对象的深度拷贝
  • 17.Spring Boot的Bean详解(新手版)
  • 十、Rocky Linux 9.x 在线安装Nginx 1.28.0
  • 豆包编写Java程序小试
  • 电子元器件基础知识总结
  • 基于SpringBoot+Vue的疫情问卷调查与返校信息管理系统】前后端分离
  • 城市地质大数据平台:透视地下空间,赋能智慧未来
  • git断点续传,中断后继续下载
  • 【计算机三级网络】——IP校园网大题(第二道):路由代码填空
  • 如何选择时序数据库:关键因素与实用指南
  • 20250709: WSL+Pycharm 搭建 Python 开发环境
  • 数据结构--堆的实现
  • 【黑马点评】(四)分布式锁
  • 深入理解 Spring AOP 代理机制:JDK 动态代理与 CGLIB 的对比与选择
  • c++学习-类中类成员变量的创建和释放顺序2-资源new出来的对象未被手动delete
  • 19-C#静态方法与静态类
  • HashMap的get与put流程源码深度解析
  • EPS 转 SVG/PNG 转换器集合
  • 托卡马克装置的发电过程解析
  • C++面试冲刺笔记1:虚函数的基本工作原理
  • thinkphp使用redis抢单实例
  • 深入理解MyBatis的MapperBuilderAssistant:如何解析Mapper XML文件?
  • 自然语言处理中probe探测是什么意思。
  • 基于docker进行渗透测试环境的快速搭建(在ubantu中docker设置代理)
  • EF提高性能(查询禁用追踪)(关闭延迟加载)
  • Java+AI精准广告革命:实时推送系统实战指南