python查询IP地址经纬度及其它信息

首先需要一个第三方库pygeoip,点击就是文档链接,很简单的使用方法,我们可以在ipython中进行操作,这里我们使用xshell连接本机vbox中创建的虚拟机(具体请自行查询搭建,很多教程)。步骤:
1.首先我们从http://dev.maxmind.com/geoip/legacy/geolite/ 下载支持文件

按照自己感兴趣的进行下载,下载完成之后使用

gunzip 进行解压

2.解压完成之后我们来进行操作

gi = pygeoip.GeoIP('/root/execute/GeoLiteCity.dat')

这个是加载文件生成对象
3.对象操作

gi.record_by_addr('183.11.178.118')

结果:
{'area_code': 0,
 'city': u'Shenzhen',
 'continent': 'AS',
 'country_code': 'CN',
 'country_code3': 'CHN',
 'country_name': 'China',
 'dma_code': 0,
 'latitude': 22.533299999999997,
 'longitude': 114.13330000000002,
 'metro_code': None,
 'postal_code': None,
 'region_code': u'30',
 'time_zone': 'Asia/Chongqing'}

可以看到latitude,longitude,我们拿着这两个地址可以使用百度地图api接口查询(还没有尝试),简单点的直接网上搜一下http://www.gpsspg.com/maps.htm 这个就有直接定位地址的,输入之后就能查询,误差还是有的,百度的api应该会更准确,有空可以试试。

你可能感兴趣的:(python查询IP地址经纬度及其它信息)