这个代码在网上很好找到,自己也写了一个。输入的excel为单列全部为地址。输出为txt文件。
#coding=utf-8
import requests
import re
import random
import sys
import pandas as pd
import time
import xlrd
global polygons, user_agent_list
user_agent_list = ['自己在网上搜一下,有很多,这边我就不再单列出来了']
def address2quxian(akl):
sys.setrecursionlimit(10000)
key = [您的高德地图key]
table = xlrd.open_workbook(akl)
data = table.sheet_by_index(0)
nrows = data.nrows
for i in range(0,nrows):
if i%1000 == 0:
time.sleep(3)
r_num = random.randint(0, 9)
h_num = random.randint(0, 69)
headers = {'User-Agent': user_agent_list[h_num]}
address = data.cell_value(i,1)
address = address.replace('#','')
url = 'https://restapi.amap.com/v3/geocode/geo?address='+address+'&output=json&key='+key[r_num]
try:
file = requests.get(url, headers=headers, timeout=30)
except:
file = requests.get(url, headers=headers, timeout=30)
data1 = file.json()
result = open('保存地址', "a+")
if data1['info'] == 'OK' and data1['geocodes'] != [] and data1['status'] != '0' and data1['geocodes'][0]['district'] != []:
district = data1['geocodes'][0]['district']
result.write(district+'\n')
else:
result.write('notfound\n')
result.close()
print(i)
if __name__ == '__main__':
file = '文件路径'
address2quxian(file)
如果有用就请点个赞吧!!