1234567891011121314151617181920212223242526272829 |
- from ip2Region import Ip2Region
- def ip_search(ip, region_type, algorithm='btree'):
- db_file = './ip2region.db'
- searcher = Ip2Region(dbfile=db_file)
- try:
- if algorithm == "binary":
- data = searcher.binarySearch(ip.strip())
- elif algorithm == "memory":
- data = searcher.memorySearch(ip.strip())
- else:
- data = searcher.btreeSearch(ip.strip())
- region = data['region'].decode('utf-8').split('|')
- if region_type == 'country':
- return region[0].strip()
- if region_type == 'province':
- return region[2].strip()
- if region_type == 'city':
- return region[3].strip()
- except Exception as e:
- print(e)
- return None
- if __name__ == '__main__':
- ip = '101.105.35.57'
- res = ip_search(ip=ip, region_type='city', algorithm='binary')
- print(res)
|