ad

学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_11.1.2 地址转换成经纬度

网友投稿 125 2023-11-13

【摘要】 本书摘自《Python网络爬虫 从入门到精通》一书中第11章,第1节,吕云翔、张扬和韩延刚等编著。

11.1.2 地址转换成经纬度

由于爬虫获取到的只有小区名称,不能精确展示到地图上,因此需要对地址进行转换, 将其变成经纬度。地址转经纬度的接口,各地图厂商均有提供,使用方法也大同小异, 一般 也都有免费使用次数,比如百度地图API, 接口免费使用次数是10000次/天,按照本章抓取 数据的量级,免费的次数已经够用。

学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_11.1.2 地址转换成经纬度

下面介绍一下百度正地理编码服务 API 的用法。正地理编码服务提供将结构化地址数据 转换为对应坐标点(经纬度)的功能,参考文档为: http://bsyun.baidu.com/index.php?title= webapi/guide/webservice-geocoding。

使用方法如下:

●申请百度账号。

●申请成为百度开发者。

●获取服务密钥(ak)。

●发送请求,使用服务。

在使用时首先需要申请百度开发者平台账号以及该应用的 ak, 申请地址为 http://bsyun. baidu.com/。需要注册百度地图 API 以获取免费的密钥,才能完全使用该 API 。因为是按小 区名称去调用地图 API 获取经纬度的,而在全国其他城市也会有重名的小区,所以在调用地图 接口的时候需要指定城市,这样才会避免获取到的坐标值分布在全国的情况。接口示例如下:

http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10 号&output= json&ak=您的 ak&callback=showLocation //GET 请求

请求参数主要如下。

● address, 待解析的地址。最多支持84个字节。可以输入两种样式的值,分别如下。 1)标准的结构化地址信息,如北京市海淀区上地十街十号(推荐,地址结构越完整,

解析精度越高)。

2)支持“*路与*路交叉口”的描述方式,如北一环路和阜阳路的交叉路口。

第二种方式并不总是有返回结果,只有当地址库中存在该地址描述时才会返回。

● city, 地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址 时,该参数起到过滤作用,但不限制坐标召回城市。

●ak, 用户申请注册的key, 自 v2 开始参数修改为 “ak”, 之前版本参数为 “key”。

● output,输出格式为 JSON 或者 XML。 返回结果参数如下。

● status, 返回结果状态值,成功时返回0,关于其余状态可以查看官方文档。 ●location, 经纬度坐标, lat 指纬度值,Ing 指经度值。

学习完该API 的基本用法,就可以着手编写了,示例代码中会将这个功能单独写成一个 方法,并在爬虫解析完数据存储之前调用,详见爬虫代码示例11-1中的 getlocation()方法。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实战之路《Excel 数据处理与分析实战宝典_第2版》_8.4 INDEX 函数
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_4.4.2 Excel 格式数据读取
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×