GeoIP的详解 --Python版
来源:互联网 发布:绵投控股网络商学院 编辑:程序博客网 时间:2024/06/05 22:33
GeoIP
GeoIP数据库(MaxMind公司)可以根据来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息
本人用Python写GeoIP的API,就以Python版为例详细介绍一下GeoIP的用法
安装pygeoip
1.下载pygeoip安装包 解压安装(也可以通过命令行 pip install pygeoip):
下载安装包 https://github.com/appliedsec/pygeoip
解压后进入pygeoip-master目录运行 Python setup.py install
如下图:
2.下载Country,City库
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
将解压后的库复制到pygeoip-master目录中
3.测试
Python脚本写GeoIP接口
#-*- encoding: utf-8 -*-
import sys
sys.path.append("..")
reload(sys)
sys.setdefaultencoding('utf-8')
import pygeoip
##输入IP,取得对应经纬度
class PygeoIp(object):
def __init__(self):
super(PygeoIp, self).__init__()
self.gi = pygeoip.GeoIP('C:\pygeoip-master\GeoLiteCity.dat', pygeoip.MEMORY_CACHE)
#self.gi = pygeoip.GeoIP('C:\pygeoip-master\GeoIP.dat', pygeoip.MEMORY_CACHE)
def ip(self,value):
#location = self.gi.country_code_by_addr(value)
location = self.gi.record_by_addr(value)
print location.get("latitude"),location.get("longitude")
if __name__ == '__main__':
reparser = PygeoIp()
reparser.ip("8.8.8.8")
结果
GeoIP一些相关网址
http://dev.maxmind.com/geoip/legacy/install/country/
http://dev.maxmind.com/geoip/legacy/downloadable/
https://github.com/maxmind/geoip-api-python
- GeoIP的详解 --Python版
- GeoIP的使用 - PHP版
- python--geoip tool
- python 使用GeoIP
- geoip
- geoip
- GeoIP
- php扩展geoIP的使用
- 手册上的GeoIP扩展详解,按手册整理了一遍
- MySQL导入GeoIP的CSV数据
- Nginx 和 GeoIP 模块的使用
- GeoIP为ip地址的相关信息提供了解决方案
- 屏蔽国内或者国外ip的代码 GeoIP
- 如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN
- 如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN
- 如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN
- 使用GeoIP获得IP地址的地理地址信息
- 用DNS+GeoIP+Nginx+Varnish做世界级的CDN
- java.util.date与java.sql.date转换
- 02面向对象
- .net list<T> 轉DataSet
- 九大全球网络攻击实时追踪系统盘点
- 两种方法教你在Ubuntu下轻松关闭触摸板
- GeoIP的详解 --Python版
- c# winform中treeview判断父节点与子节点的关系
- java中的23种设计模式
- C#:如何去掉groupbox的边框线
- 用toad for oracle将excel数据导入数据库
- http://blog.csdn.net/indexman/article/details/8023740/
- iOS开发小技巧
- GPIO-KEY的实现原理及使用方法
- linux安装gunplot和简单使用