Python利用高德地图Web API 获取地址所在区县

这个代码在网上很好找到,自己也写了一个。输入的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)

如果有用就请点个赞吧!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值