百度地圖api的簡單應用(一):POI檢索


使用之前,需要注冊一個百度地圖開發者賬號,最好申請一個認證以獲取更高的使用配額和並發上限。

注冊之后,申請一個應用,獲得一個ak(密鑰),並填寫ip地址白名單。(這里我使用0.0.0.0/0,查了自己的ip但百度好像總是說我ip不對,算了)

百度地圖api的原理是,把你想輸入的參數(調用功能、具體參數)體現在url中,把url打開,會返回一個json文件(也可xml文件,但默認json,且方便),這個json文件內包含了你想要的各種信息。

一般最常用的就是poi(point of interests)檢索了,我們以此為例,嘗試一下地點檢索功能。

import json
import requests
import pandas as pd

feature_data = []
query = '銀行'
zx = [31.15,121.41];
ys = [31.30,121.60]
zb = str(zx[0]) + ',' + str(zx[1]) + ',' + str(ys[0]) + ',' + str(ys[1])
ak = '我的密鑰(這個得保密,不然每日額度可能直接被別人用了)'


def url_to_file(url):
    data = requests.get(url).text
    hjson = json.loads(data)
    if hjson['message'] == 'ok':
        datalist = hjson['results']
        for each in datalist:
            feature_data.append(each)


for k in range(100):
    url = 'http://api.map.baidu.com/place/v2/search?query=' + query + '&bounds=' + zb + '&page_size=20&page_num=' + str(
        k) + '&output=json&ak=' + ak
    url_to_file(url)

feature = pd.DataFrame(feature_data)
feature.to_csv(str(query)+'_按矩形.csv')

然而,打開csv文件,會出現亂碼。

這時把文件用記事本方式打開->另存為->換一種字符編碼(我將utf-8變為ANSI),便可以打開了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM