抓住并用枪压缩http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz,安装 GeoIP-Python 软件包(如果您使用的是 Debian 或 Ubuntu,则安装 python-geoip 软件包,否则安装http://geolite.maxmind.com/download/geoip/api/python/GeoIP-Python-1.2.4.tar.gz http://geolite.maxmind.com/download/geoip/api/python/GeoIP-Python-1.2.4.tar.gz),并执行以下操作:
import GeoIP
gi = GeoIP.open("GeoLiteCity.dat", GeoIP.GEOIP_INDEX_CACHE | GeoIP.GEOIP_CHECK_CACHE)
print gi.record_by_name("74.125.67.100") # a www.google.com IP
{'city': 'Mountain View', 'region_name': 'California', 'region': 'CA', 'area_code': 650, 'time_zone': 'America/Los_Angeles', 'longitude': -122.05740356445312, 'country_code3': 'USA', 'latitude': 37.419200897216797, 'postal_code': '94043', 'dma_code': 807, 'country_code': 'US', 'country_name': 'United States'}
该数据库是免费的(http://geolite.maxmind.com/download/geoip/database/LICENSE.txt http://geolite.maxmind.com/download/geoip/database/LICENSE.txt)。他们也确实出售它;我认为这只会让你更频繁地更新。