有时需要根据地址查询当前地理位置的经纬度信息,少量查询可以直接借助百度地图坐标拾取一个一个查,但如果如要查询成百上千条,那样做就太浪费时间了,所以就需要更快速简单的方法。
本文就根据百度地图提供的地理编码API接口利用python编程查询数据。
具体代码如下:
# encoding:utf-8
import requests
import time
import pandas as pd
from tqdm import tqdm
# 此处需要百度ak,百度地图开发者中心ak申请(http://lbsyun.baidu.com/apiconsole/key?application=key)
ak = "xxxxx" # 替换为你申请的ak
# headers替换为你的浏览器的User-Agent
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0 '}
#百度地理编码api接口: http://api.map.baidu.com/geocoding/v3/?address=xxx&city=xxx&output=json&ak=xxx
# 地理信息解析
def get_lat_lon_info(addr=None,city=None,ak=None):
url = "http://api.map.baidu.com/geocoding/v3/?address={}&city={}&output=json&ak={}".format(addr,city,ak)
try:
time.sleep(0.1) # 防止并发量报警
data = req