文档章节

[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City

喵了_个咪
 喵了_个咪
发布于 2017/04/07 20:50
字数 1116
阅读 82
收藏 1
点赞 0
评论 0

[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City

#w-blog博客

哈喽大家好啊!喵咪开源软件推荐(3)终于和大家见面了,这次我们来说说什么呢?大家有没有遇到过这样一个场景,当你出国游玩的时候到了一个国家时你的手机就自动提示你在哪里是否需要切换时区,或者是地图定位时机器没有GPS芯片怎么通过网络定位获取经纬度等信息,这个时候我们能够获取到最好的属性就是IP地址,每一个国家都分配的有一批IP地址并且也有专门维护IP地址库的组织,看到这里大家也明白了对了我们今天就来推荐GenLite2这款IP数据库给到大家...

附上:

喵了个咪的博客:w-blog.cn

geolite2 下载地址 :http://dev.maxmind.com/geoip/geoip2/geolite2/

geoip2-golang 项目地址 :https://github.com/oschwald/geoip2-golang

1.GenLite2

1.1 简单介绍

GenLite2 是 Geoip2 的免费版本(Geoip2 是要收费提供专业服务,并且IP地址库对相对免费的更新频繁,有钱的老爷们可以购买支持),这款IP数据库是由 maxmind 进行维护的, GenLite2 提供的IP数据库格式有两种一种是二进制DB文件,另外一种是csv文件,首先还是推荐使用DB文件,并且精准度有两个等级,一个是精确到国家(数据相对比较少1.2MB)另外一个就是精确到城市(30MB左右).

1.2 用什么东西来使用?

既然是数据库可以导入到MYSQL来使用? 虽然可以通过csv格式来进行处理,但是很麻烦很多格式基本是它独有的,那么我们要怎么使用呢?笔者在github找了一下几款可以使用到genip2的扩展库如下

maxmind/GeoIP2-php
oschwald/geoip2-golang
maxmind/GeoIP2-java
maxmind/GeoIP2-python

大部分都是官方maxmind提供的

2. 具体的IP数据库效果怎么样呢?

笔者通过Golang编写了一个简单API来提供IP地址信息查询,笔者找了一个湖南长沙的IP地址220.168.56.116 查询结果如下

{
    "City": {
        "GeoNameID": 1815577,
        "Names": {
            "de": "Changsha",
            "en": "Changsha",
            "es": "Changsha",
            "fr": "Changsha",
            "ja": "長沙市",
            "pt-BR": "Changsha",
            "ru": "Чанша",
            "zh-CN": "长沙市"
        }
    },
    "Continent": {
        "Code": "AS",
        "GeoNameID": 6255147,
        "Names": {
            "de": "Asien",
            "en": "Asia",
            "es": "Asia",
            "fr": "Asie",
            "ja": "アジア",
            "pt-BR": "Ásia",
            "ru": "Азия",
            "zh-CN": "亚洲"
        }
    },
    "Country": {
        "GeoNameID": 1814991,
        "IsoCode": "CN",
        "Names": {
            "de": "China",
            "en": "China",
            "es": "China",
            "fr": "Chine",
            "ja": "中国",
            "pt-BR": "China",
            "ru": "Китай",
            "zh-CN": "中国"
        }
    },
    "Location": {
        "AccuracyRadius": 50,
        "Latitude": 28.1792,
        "Longitude": 113.1136,
        "MetroCode": 0,
        "TimeZone": "Asia/Shanghai"
    },
    "Postal": {
        "Code": ""
    },
    "RegisteredCountry": {
        "GeoNameID": 1814991,
        "IsoCode": "CN",
        "Names": {
            "de": "China",
            "en": "China",
            "es": "China",
            "fr": "Chine",
            "ja": "中国",
            "pt-BR": "China",
            "ru": "Китай",
            "zh-CN": "中国"
        }
    },
    "RepresentedCountry": {
        "GeoNameID": 0,
        "IsoCode": "",
        "Names": null,
        "Type": ""
    },
    "Subdivisions": [
        {
            "GeoNameID": 1806691,
            "IsoCode": "43",
            "Names": {
                "en": "Hunan",
                "fr": "Province de Hunan",
                "zh-CN": "湖南"
            }
        }
    ],
    "Traits": {
        "IsAnonymousProxy": false,
        "IsSatelliteProvider": false
    }
}

准确的解析出了中国湖南长沙并且还有多国语言的称呼,笔者在试了试通过手机移动网来进行的解析,笔者在上海市杨浦区获得的经纬度是 31.0456,121.3997,但是具体经纬度结果还是相差甚远

3 总结

GeoLite2可以解决通过IP对城市级别的定位问题,但是解析出来的经纬度有比较大的偏差笔者在杨浦区经纬度解析到了闵行区,感兴趣的大家也可以下载下来体验一下,今后喵咪会给大家带来更多有趣的开源软件,多谢大家的支持下周再见.

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

© 著作权归作者所有

共有 人打赏支持
喵了_个咪
粉丝 240
博文 136
码字总数 178071
作品 4
杨浦
技术主管
PhalApi(π框架) v1.4.1 发布,PHP 轻量级 API 接口开发框架

[前言] 夏天的脚步悄悄来临,在各位小伙伴的辛勤付出下,PhalApi迎来了新版本V1.4.1,在这次更新中着重以开发者便捷为本新增优化了很多功能,如对接口文档添加了各项重要功能可以直接在文档页面进...

喵了_个咪
2017/07/01
903
4
通过GeoIP2分析访问者IP获取地理位置信息

MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数...

twisted3
2016/08/09
97
0
PhalApi-v1.3.1 (感恩版)发布,PHP 轻量级开源接口框架

PhalApi-v1.3.1 (感恩版)发布,PHP轻量级开源接口框架 [前言] 感恩节来临之际,PhalApi迎来了等候了一个多月的v1.3.1版本更新. 在v1.3.1版本中着重对1.3.0版本中存在BUG进行了修复,并且进一步...

喵了_个咪
2015/11/28
1K
5
ELK采集之nginx 之高德地图出城市IP分布图

1、采用拓扑: 角色扮演: Agent:采用logstash,IP:192.168.10.7 Redis队列: IP:192.168.10.100 Indexer:logstash,IP:192.168.10.205 Es+kibana:放在192.168.10.100(大的日志环境可以单...

1362802538
2017/01/13
285
0
ELK采集之nginx 日志高德地图出城市IP分布图

最近确实忙得像狗一样,很久没有更新博客了。今天有点空闲时间写一些相关的ELK stack的博客;本来想做成一些列,后面有时间的话再更新吧 1、采用拓扑: 角色扮演: Agent:采用logstash,IP:...

小罗ge11
2017/01/12
0
0
[喵咪PHP]页面显示空白问题

哈喽!大家好啊,喵咪PHP第一次和大家见面了,熟悉的朋友呢也之道喵咪我也开了喵咪Liunx和喵咪Golang这两个坑目的呢是吧平常遇到的一些问题或者是在学习中的东西好工具分享出来和大家交流沟通,...

喵了_个咪
2016/06/09
408
0
PhalApi-v1.3.2,一周年纪念版,轻量级接口框架

#PhalApi-v1.3.2 (一周年纪念版)发布,PHP轻量级开源接口框架# ##[前言]## 时隔一年PhalApi已经一岁了,从无到有在到活跃人数350+的社区,到28+落地项目,实用拓展17+,一切都离不开各位小伙伴的...

喵了_个咪
2016/01/09
920
5
感谢有你!2015年PhalApi贡献者名单

“古云此日足可惜,吾辈更应惜秒阴。” PhalApi从2015年1月走向开源,到今天已经过去一年了。当收到第一封开发人员的邮件时,我们就怀着始终激动而谨慎的心情,正式走上了开源之路。 在此,需...

暗夜在火星
2016/01/13
83
2
[喵咪Liunx(5)集群管理利器pssh

[喵咪Liunx(5)集群管理利器pssh 哈喽大家好呀!大家在管理服务器的时候如果只是一两台还好,当你管理三台以上的服务器的时候,你安装任何一个软件更改任何一个配置文件就要无比麻烦的每一台机器...

喵了_个咪
2016/10/17
60
0
[喵咪Liunx(3)]端口转发工具rinetd

今天笔者为大家带来了另外一款非常优秀的Liunx工具,这个工具有什么用呢?它能帮助我们解决一些特定场景下的端口转发需求,这个工具就是runetd,runetd可以非常方便的进行端口转发的设置,那就让我...

喵了_个咪
2016/07/26
56
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、登录流程图 二、小程序客户端 doLogin:function(callback = () =>{}){let ...

公众号_好好学java
35分钟前
0
1
流利阅读笔记28-20180717待学习

“我不干了!” 英国脱欧大臣递交辞呈 雪梨 2018-07-17 1.今日导读 7 月 6 日,英国政府高官齐聚英国首相的官方乡间别墅——契克斯庄园,讨论起草了一份关于英国政府脱欧立场的白皮书。可是没...

aibinxiao
今天
6
0
OSChina 周二乱弹 —— 理解超算排名这个事,竟然超出了很多人的智商

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @-冰冰棒- :分享Ed Sheeran/Beyoncé的单曲《Perfect Duet (with Beyoncé)》 《Perfect Duet (with Beyoncé)》- Ed Sheeran/Beyoncé 手机...

小小编辑
今天
138
7
Android 获取各大音乐平台的真实下载地址

废话 电脑使用谷歌浏览器或者QQ浏览器的时候。。。。。。。说不清楚,还是看图吧 大概意思就是,只要网页上需要播放,只要能播放并且开始播放,这个过程就肯定会请求到相关的音乐资源,然后就...

她叫我小渝
今天
0
0
shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
1
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部