首页 > 代码库 > python绝技 — 使用PyGeoIP关联IP地址和物理位置
python绝技 — 使用PyGeoIP关联IP地址和物理位置
准备工作
要关联IP与物理位置,我们需要有一个包含这样对应关系的数据库。
我们可以使用开源数据库GeoLiteCity,它能够较为准确地把IP地址与所在城市关联起来
下载地址:http://dev.maxmind.com/geoip/legacy/geolite/
下载之后我们解压:xz -d GeoLiteCity.dat.xz,如:/My/lib/ip/GeoLiteCity.dat
安装pygeoip库。这个库用于对GeoLiteCity数据库的查询
代码:
#!/usr/bin/python#--*--coding=utf-8--*--import pygeoipgi = pygeoip.GeoIP(‘/My/lib/ip/GeoLiteCity.dat‘)def printRecord(tgt): rec = gi.record_by_addr(tgt) city = rec[‘city‘] region = rec[‘region_code‘] country = rec[‘country_name‘] long = rec[‘longitude‘] lat = rec[‘latitude‘] print ‘[*] 主机: ‘ + tgt + ‘ Geo-located.‘ print ‘[+] ‘ + str(city) + ‘, ‘ +str(region)+‘, ‘+str(country) print ‘[+] 经度: ‘+str(lat)+‘, 维度: ‘+ str(long)tgt = ‘183.141.110.74‘printRecord(tgt)
183.141.110.74是随便找的一个代理ip地址,查查看地址:
查询结果
python绝技 — 使用PyGeoIP关联IP地址和物理位置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。