HardBirch

使用GEOIP进行用户IP的分析

时间:10-05-04 栏目:HTML5移动开发 作者:张飞不张,文采横飞 评论:1 点击: 1,474 次

MaxMind公司的GeoIP数据库可以根据用户IP精确的获得用户地理位置信息,火狐就是使用它来统计下载用户所在区域的。

主要包括两个以键值方式存储的数据文件,Geo Country和Geo IP,如果只关注国家信息,可以使用小得多的Geo Country库。

这两个库都分为商业的和免费的两个版本,精确率都在99.5%以上,对于大多数的应用,免费的版本已经足够了。

GEOIP的客户端包括各种语言:

  • C Library
  • Perl Module
  • PHP Module
  • Apache Module (mod_geoip)
  • Java Class
  • Python Class
  • C# Class
  • Ruby Module
  • MS COM Object
  • VB.NET
  • Pascal
  • Javascript  
  •  

    下面以Perl为例,介绍一下使用方法。

    首先下载GeoLiteCountry或GeoLiteCity的数据文件(http://www.maxmind.com/app/geolitecountryhttp://www.maxmind.com/app/geolitecity)。GeoLiteCountry的文件大小约为1M,而GeoLiteCountry的大小约为43M。

     

    Perl的GeoIP模块主要是两个Geo::IP和Geo::IP::PurePerl,前面一个调用C语言实现,效率比后面一个纯Perl实现的模块高一些。

    下面是分析一个IP国家信息的代码:

    输出为:

    下面是分析一个IP详细信息的代码:

     输出为:

    可以看到此用户来自加拿大的纽芬兰岛的圣约翰区。

    针对批量的用户数据统计,我们可以分析出重点用户区域和市场推广效果,下图为一个实例,从中我们可以看出国外用户数量的变化趋势。

    声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: 使用GEOIP进行用户IP的分析

    使用GEOIP进行用户IP的分析:目前有1 条留言

    1. 沙发
      huiliang_1988:

      很好的一篇文章,但是为什么只能转载到新浪和腾讯的微博,其他的就不行呢

      2012-10-16 09:58 [回复]

    发表评论


    QQ群互动

    Linux系统与内核学习群:194051772

    WP建站技术学习交流群:194062106

    魔豆之路QR

    魔豆的Linux内核之路

    魔豆的Linux内核之路

    优秀工程师当看优秀书籍

    优秀程序员,要看优秀书!

    赞助商广告

    友荐云推荐