第四周大数据测试第一天

第一天主要是要完成第一部分,地域的标准化。今天主要是验证了几个想法的可实施性以及一部分代码的书写。一开始想到的方法是通过公司的地址来获取有关数据。找到了python中相应模块,cpca可以提供有效帮助,通过jieba的分词,可以把地址分为省市区三类,这样的话再用一张表对应获得的地址编号,就可以得到其地域的行政区划变好了。但是想法很丰满,现实很丰满。因为开始实行后才发现大量的地址并没有地址前缀。。。。导致落空。

(不过学到了很多其他的知识,比如分词和更改python的下载源--自带的下载源太慢了)

之后确定下来的工作方向是通过百度api获取相关的省市区,通过地址定位获得对应的省市区在转化为相关的行政区划代码。已经开始这部分的工作,最迟可以在明晚18:00之前完成

def getaddress(lng,lat):
    '''经纬度还原标准地址'''
    try:
        ak = '自己的ak'
        url='http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=%s,%s&output=json&pois=1&ak=%s'%(str(lat),str(lng),ak)
        req = urlopen(url)
        res = req.read().decode()
        res=res[29:-1]
        temp = json.loads(res)
        address_need=temp['result']['addressComponent']
        return '%s-%s-%s'%(address_need['province'],address_need['city'],address_need['district'])
    except:
        print('error')

def get_city(address):
    '''合并'''
    lng,lat=getlnglat(address)
    temp=getaddress(lng,lat)
    return temp

获取百度API的途径与方法。

原文地址:https://www.cnblogs.com/jyt123/p/12482702.html