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应该会更准确,有空可以试试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • 最近因需要尝试编译了一次Vbox,官方论坛上只有32位环境的编译教程,所以这次在64位、特别是中文环境上遇到不少坑...
    MushiUta阅读 5,773评论 0 6
  • 不少初到美国的留学生会感觉和美国人聊不起来,出国前倒背如流的托福和GRE词汇在日常生活中用不上。美国人能侃,侃体育...
    念君客游阅读 775评论 1 0
  • 一轮明月佼,照我望乡人。 露重秋黄俏,霜浓染鬓深。 家书无紧事,归省阻风尘。 祈愿金菊艳,繁开侍两亲。 注: 望乡...
    不惑而歌阅读 1,394评论 9 14