Python百度地图API

 注册账号创建密钥获取AK

百度地图开放平台

import requests
import json
from config import AK

"""
http://api.map.baidu.com/place/v2/search?q=公园®ion=北京&output=json&ak=*******************
q 搜索关键词
region 检索区域(市级以上行政区域)
scope 默认值为1  检索结果详细程度 1检索poi基本信息 2检索poi详细信息
page_size 范围记录数量
page_num 分页页码  默认0第一页
output 输出格式为json或xml
ak 密钥
"""


def get_json(loc, page_num=0):
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0"}
    params = {'q': '公园',
              'region': loc,
              'scope': '2',
              'page_size': 20,
              'page_num': page_num,
              'output': 'json',
              'ak': AK}

    r = requests.get('http://api.map.baidu.com/place/v2/search', params=params, headers=headers)
    decode_json = json.loads(r.text)
    return decode_json


if __name__ == '__main__':
    lists = get_json('北京市', 1)  # 获取json
    print('total', lists['total'])
    print('JSON信息', lists)
    print("=========================================================================================================")
    for i in lists['results']:
        print(i['name'], '\t', i['address'])
    print("=========================================================================================================")
    province_list = ['云南省', '河南省']
    for p_ in province_list:
        province_list = get_json(province_list)
        print(province_list)
        for p in province_list['results']:
            print(p['name'], '\t', p['num'])
            output = '\t'.join([p['name'], str(p['num'])]) + '\r\n'
            with open('cities.txt', 'a+', encoding='utf-8') as f:
                f.write(output)

 

你可能感兴趣的:(python,开发语言)