Python爬虫(13)——根据地址获取经纬度并进行Geohash编码

本文主要介绍一下通过高德地图API接口,将指定的标准化地址转换成对应的经纬度,并进行Geohash编码。

首先,在高德开放平台(https://lbs.amap.com/api/webservice/guide/api/georegeo)申请key

然后,可以根据(https://lbs.amap.com/api/webservice/guide/api/georegeo)里的格式调用高德地图API接口,获取地址对应的经纬度。

具体实现代码如下所示:

import requests
import json


def _get_request(_url):
    s.headers = {"Conetent-Type":"application/json;charset=UTF-8"}
    response  = json.loads(requests.get(_url).text)
    data = response["geocodes"][0]
    addr = data["formatted_address"]
    city = data["city"]
    location = data["location"]
    level = data["level"]
    return [addr,city,location,level]

host = 'restapi.amap.com'
addr = '北京市昌平区科技园区昌盛路18号B1座1-5层'
addr_key = '*******'   #申请的key
s = requests.session()
_url = 'https://{}:443/v3/geocode/geo?address={}&output=JSON&key={}'.format(host,addr,addr_key)
print(_get_request(_url))

输出结果如下所示:

最后,对返回的经纬度进行Geohash编码(https://github.com/vinsci/geohash),如下所示:

import geohash

data = geohash.encode(116.255421,40.201209,precision=7)

print(data)

输出结果如下所示:

你可能感兴趣的:(爬虫-python)