【Python-地理区划编码】高德地理编码简易实现

话不多说 直接开干

新写了一个爬取国家行政区划的数据 https://blog.csdn.net/z_wen_quan/article/details/116170996

申请Key

高德地图API https://www.baidu.com/link?url=d5ilKbdrNIlJ7I1ykpzFwNbnLePW5wKsqYBba-cZEDa&wd=&eqid=9f871fb8000516e500000006606d66ad

控制台——创建应用——添加Key

行政区域查询文档内容

https://lbs.amap.com/api/webservice/guide/api/district

简易实现

# -*- coding: utf-8 -*-
import requests
import json
import time

prov_list = ['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省',
            '上海市', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省',
            '湖北省', '湖南省', '广东省', '广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省',
            '云南省', '西藏自治区', '陕西省', '甘肃省', '青海省', '宁夏回族自治区', '新疆维吾尔自治区'
        ]

if __name__ == "__main__":
    url = 'http://restapi.amap.com/v3/config/district?key=你的高德key&subdistrict=4&extensions=base&keywords='

    total_dict = []
    for pro in prov_list:
        try:
            pro_url = url+pro
            res = requests.get(pro_url)
            json_data = json.loads(res.text)
            province = json_data['districts'][0]
            for city in province['districts']:
                if len(city['districts'])>0:
                    for area in city['districts']:
                        print('在路径-%s-处'%(province['name']+'-'+city['name']))
                        if len(area['districts'])>0:
                            town_count = 0
                            for town in area['districts']:
                                town_count+=1
                                total_dict.append([province['adcode'],province['name'],city['adcode'],city['name'],area['adcode'],area['name'],town['adcode'],town['name']])
                            print('已获取-%d-在路径-%s'%(town_count,province['name']+'-'+city['name']+'-'+area['name']+'-'+area['name']))
                        else:
                            total_dict.append([province['adcode'],province['name'],city['adcode'],city['name'],area['adcode'],area['name']])
                    
                else:
                    total_dict.append([province['adcode'],province['name'],city['adcode'],city['name']])
        except Exception as e:
            print(e,pro_url)
            time.sleep(20)
    print(len(total_dict))
    sort_name=['province_code','province','city_code','city','area_code','area','town_code','town']
    book=open('./position/position.csv','w',encoding='utf-8')
    book.write(','.join(sort_name)+'\n')
    for each in total_dict:
        book.write(','.join(each)+'\n')
    book.close()

运行内容 

数据已经上传,有需要自取 https://download.csdn.net/download/z_wen_quan/17881606

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值