第一天主要是要完成第一部分,地域的标准化。今天主要是验证了几个想法的可实施性以及一部分代码的书写。一开始想到的方法是通过公司的地址来获取有关数据。找到了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的途径与方法。