话不多说 直接开干
新写了一个爬取国家行政区划的数据 https://blog.csdn.net/z_wen_quan/article/details/116170996
申请Key
控制台——创建应用——添加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