GeoIP是一个根据IP地址查询位置的API的集成。它支持对国家、地区、城市、纬度和经度的查询。实际上基于PHP(pygeoip似乎就是基于PHP的接口写的)和JAVA也都有现成的方法可以使用,反倒是库有QQ的,淘宝的,以至于走网络的XX138,我本测试用的QQ的,不过查出来的不太好匹配,用GEOip 可以直接查询出国家代码来匹配…
安装pygeoip
##使用PIP##C:\Users\LiuSha>pip install pygeoip##Github##https://github.com/appliedsec/pygeoip
MaxMind GEoip库下载
##Lite City##http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz##Country##wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
测试和基本使用
>>> import pygeoip>>> Country = "./GeoIP.dat">>> City = "./GeoLiteCity.dat"###Databases : City###>>> Star = pygeoip.GeoIP(City)>>> print Star.record_by_addr('107.170.243.66'){'city': u'New York', 'region_code': u'NY', 'area_code': 212, 'time_zone': 'America/New_York', 'dma_code': 501, 'metro_code': 'New York, NY', 'country_code3': 'USA', 'latitude': 40.726699999999994, 'postal_code': u'10012', 'longitude': -73.9981, 'country_code': 'US', 'country_name': 'United States', 'continent': 'NA'}>>> print Star.record_by_name('www.ipython.me'){'city': u'New York', 'region_code': u'NY', 'area_code': 212, 'time_zone': 'America/New_York', 'dma_code': 501, 'metro_code': 'New York, NY', 'country_code3': 'USA', 'latitude': 40.726699999999994, 'postal_code': u'10012', 'longitude': -73.9981, 'country_code': 'US', 'country_name': 'United States', 'continent': 'NA'}>>> print Star.region_by_addr('107.170.243.66'){'region_code': u'NY', 'country_code': 'US'}>>> print Star.region_by_name('www.ipython.me'){'region_code': u'NY', 'country_code': 'US'}##Databases : Country##>>> Star = pygeoip.GeoIP(Country)>>> print Star.country_code_by_addr('107.170.243.66')US>>> print Star.country_code_by_name('www.ipython.me')US
? 转载保留版权:IT辰逸 ? 《Python GeoIP库》 ? 本文链接地址:http://www.ipython.me/python/python-pygeoip.html ? 本文版权采取:BY-NC-SA 协议进行授权,转载注明出处。除IT-Tools、News以及特别标注,本站所有文章均为原创。 ? 如果喜欢可以:点此订阅本站
如果说对云南有进一步的了解的话就是鲜花。