return a dict about the location.
"""
urlobj = urllib2.urlopen(self.api_url)
data = urlobj.read()
datadict = json.loads(data, encoding='utf-8')
# print datadict
return datadict
def get_country(self):
key = 'country_name'
datadict = self.get_geoinfo()
return datadict[key]
def get_region(self):
key = 'region_name'
datadict = self.get_geoinfo()
return datadict[key]
def get_city(self):
key = 'city'
datadict = self.get_geoinfo()
return datadict[key]
class location_taobao():
'''
build the mapping of the ip address and its location
the geo info is from Taobao
e.g. http://ip.taobao.com/service/getIpInfo.php?ip=112.111.184.63
The getIpInfo API from Taobao returns a JSON object.
'''
def __init__(self, ip):
self.ip = ip
self.api_url = 'http://ip.taobao.com/service/getIpInfo.php?ip=%s' % self.ip
def get_geoinfo(self):
""" get the geo info from the remote API.
return a dict about the location.
"""
urlobj = urllib2.urlopen(self.api_url)
data = urlobj.read()
datadict = json.loads(data, encoding='utf-8')
# print datadict
return datadict['data']
def get_country(self):
key = u'country'
datadict = self.get_geoinfo()
return datadict[key]
def get_region(self):
key = 'region'
datadict = self.get_geoinfo()
return datadict[key]
def get_city(self):
key = 'city'
datadict = self.get_geoinfo()
return datadict[key]
def get_isp(self):
key = 'isp'
datadict = self.get_geoinfo()










