python 通过百度/高德Geocoding API 获取经纬度数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 通过百度/高德Geocoding API 获取经纬度数据相关的知识,希望对你有一定的参考价值。

http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

http://lbs.amap.com/api/webservice/guide/api/georegeo/#geo

看文档就可以了,然后通过python解析下。

def get_jingwei(url,data=None):
    try:
        res=requests.get(url)
        data=json.loads(res.text)
        jingwei=data["geocodes"][0]["location"]
        district=data["geocodes"][0]["district"]
        data={
            "jingwei":jingwei,
            "url":url,
            "district":district
        }
        # sheet_bj_xq_jw.insert(data)
    except Exception as e:
        print(e,count)
    finally:
        sheet_bj_xq_jw.insert(data)

def data2file(s):
    path = r"C:\Users\Oscar\Desktop\data1.txt"
    file = open(path, "a")
    file.write("\n")
    file.write(str(s))
    file.close()
if __name__ == __main__:
    """连接mongodb"""
    client = pymongo.MongoClient("localhost", 27017)
    db_bj_xq_jw = client["db_bj_xq_jw"]

    sheet_bj_xq_jw = db_bj_xq_jw["sheet1"]
    import time
    from xiaoqu_list_1020 import list
    count=0
    api_url = ["http://restapi.amap.com/v3/geocode/geo?address={}&output=json&key=你的key&city=%E5%8C%97%E4%BA%AC".format(i) for i in list.split()]
    for single_url in api_url:
        # print(single_url)
        time.sleep(math.radians(3))
        get_jingwei(single_url)
        count=count+1
        print(count)

 

以上是关于python 通过百度/高德Geocoding API 获取经纬度数据的主要内容,如果未能解决你的问题,请参考以下文章

Python-百度经纬度转高德经纬度

基于cesium的百度、腾讯、高德数据访问

使用python与高德api获取省市县区

Openlayers 高德腾讯、百度、天地图坐标相互转换

python怎么根据地名爬取百度坐标

iOS打开百度地图高德地图导航