python实现通过百度地图API获得地铁站经纬度(详细教程)

第一步:注册成为开发者,获得AK号

1: 前往百度地图官网注册,注册地址,请点击:百度地址开发者注册
网站如下:http://lbsyun.baidu.com/apiconsole/key/create
2: 注册并邮箱激活后点击申请密钥,:
应用名称随便填写,应用类型选择服务器,IP白名单填0.0.0.0/0就行
提交后就申请到了访问应用(AK)了
python实现通过百度地图API获得地铁站经纬度(详细教程)_第1张图片
python实现通过百度地图API获得地铁站经纬度(详细教程)_第2张图片

第二步:运行代码测试

代码如下所示:

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__()就行

第四步:开发者个人认证

对百度地图访问量很大的话,可以申请开发者个人认证,需要进行实名认证手续等!!
python实现通过百度地图API获得地铁站经纬度(详细教程)_第3张图片

你可能感兴趣的:(python)