先安装这两个
pip install python-geoip-geolite2 -i https://pypi.douban.com/simple
pip install geoip2
然后下载资源
搜一搜GeoLite2-Country.mmdb第一个链接就有
测试代码
import geoip2.database
#GeoLite2-City.mmdb文件的位置
reader = geoip2.database.Reader('./GeoLite2-City.mmdb')
response = reader.city('128.101.101.101')
response.country.iso_code
'US'
response.country.name
'United States'
response.country.names['zh-CN']
u'美国'
response.subdivisions.most_specific.name
'Minnesota'
response.subdivisions.most_specific.iso_code
'MN'
response.city.name
'Minneapolis'
response.postal.code
'55455'
response.location.latitude
44.9733
response.location.longitude
-93.2323
reader.close()
本地的所以很快
Python使用geoip库解析出城市位置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/usr/bin/env python #encoding:utf8 #author: zeping lai
import geoip2.database
reader = geoip2.database.Reader('E:/tools/GeoLite2-City.mmdb')
response = reader.city("202.96.128.166")
print "\n--- 国家 --------" print response.country.iso_code print response.country.name print response.country.names['zh-CN']
print "\n--- 省份 --------" print response.subdivisions.most_specific.iso_code print response.subdivisions.most_specific.name print response.subdivisions.most_specific.names['zh-CN']
print "\n--- 城市 --------" print response.postal.code print response.city.name print response.city.names['zh-CN']
print "\n--- 位置(经纬度) --------" print response.location.latitude print response.location.longitude |