1: 前往百度地图官网注册,注册地址,请点击:百度地址开发者注册
网站如下:http://lbsyun.baidu.com/apiconsole/key/create
2: 注册并邮箱激活后点击申请密钥,:
应用名称随便填写,应用类型选择服务器,IP白名单填0.0.0.0/0就行
提交后就申请到了访问应用(AK)了
代码如下所示:
import pandas
from bs4 import BeautifulSoup
from urllib import request
import re
import pandas as pd
import numpy as np
import urllib.parse as urp
from xml.etree import ElementTree
import time
def __get_location1__(name,city):
my_ak = '第一步中自己申请的AK号' # 需要自己填写自己的AK
tag = urp.quote('地铁站')
qurey = urp.quote(name)
try:
url = 'http://api.map.baidu.com/place/v2/search?query='+qurey+'&tag='+'®ion='+urp.quote(city)+'&output=json&ak='+my_ak
print(url)
req = request.urlopen(url)
res = req.read().decode()
lat = pd.to_numeric(re.findall('"lat":(.*)',res)[0].split(',')[0])
lng = pd.to_numeric(re.findall('"lng":(.*)',res)[0])
return (lng,lat) #经度和纬度
except:
return 0,0
输入:
__get_location1__('东直门','北京')
输出:
(116.44145400000001, 39.947891999999996)
当需要很多地址的经纬度时,首先用爬虫爬取地址名称,然后不断调用__get_location1__()就行