专栏首页华章科技教你如何获取IP地址侦测用户来源可视化分析

教你如何获取IP地址侦测用户来源可视化分析

文章来源:沈浩老师(ID:artofdata),作者:沈浩。

假设一家商业网站开发了软件产品,他们希望知道都是来自哪里的用户下载或更新我们的软件,并进行可视化分析。

需要解决的问题是:

  1. 是否有一个IP地址库,能够表征一个geoIP地址的具体位置(至少到国家或具有服务器ISP位置)
  2. Weblog记录了用户下载或更新软件的IP地址
  3. 能够将下载用户的IP地址匹配到geoIP地址数据库
  4. 在地图上可视化呈现用户来源

下面我们通过案例来说明实现上述想法的软件操作和挖掘算法。

首先我们了解到有一家网站提供了IP地址的开源数据库(收费数据库更精细和更新更快) Http://www.maxmind.com

GeoIP2 Precision Insights服务提供IP地址所在地点Maxmind所掌握的最准确信息,可以将其精确定位到邮政编码层面。它包括地理定位数据的置信因数,描述ISP/机构,并显示某个IP背后的用户类型。

GeoIP2 Precision Insights 现在可以提供人均收入(美元)以及每平方公里的人口数量(仅限美国)。借助平均收入,精调广告定向和优惠券发放;加入人口密度数据,作为渠道分析和评估市场需求的一项因素。

从上面描述我们可以看到几点应用:

  1. 一个IP地址库具有什么信息
  2. 一个IP地址的可信度或安全性如何评估
  3. 一个IP地址的来源访问如何侦测和风险是电子商务或在线支付的验证手段
  4. 可以通过GeoIP的API接口通过Python进行访问验证和其他应用REST

另:该网站提供了一个免费的GeoIP数据库

下面我们通过编辑一个SQLite的下载路径文件

通过执行这个流可以在分钟级别下载到200万的geoIP数据库(可以永久保存在本地)

我们可以将GeoIP数据库保持下来,以后就不用每次运行再下载了,当然这个库如果付费的话每天都在更新,也就可以保证实时运行最新数据库了。

从数据库中我们可以看到有ip_start和ip_end数据值区间范围内的分配ip数量和这个范围ip地址所属国家、地区、城市,以及ISP的经纬度坐标。

接下来我们假设该某家网站Apache的weblog能够记录下载和更新软件的用户浏览log数据(假设有1万个请求weblog)

我们先用正则表达或Like匹配抽取或者过滤所以的下载download或更新updata的用户请求地址Url

$Request$ LIKE "GET /knime_downloads/*" => TRUE

$Request$ LIKE "GET /update/*/org.knime.features.base_*" => TRUE

接下来需要将IP地址的四位地址段整合为一个整数值,以便实现IP地址的匹配。

首先将IP地址的四分地址段拆分成四列字段,然后在合并成IP对于数据戳。在运算前需要进行IP地址的汇总,因为可能有多个访问来自同一个IP地址。

IP值=($IP_Arr[0]$ * 16777216) + ($IP_Arr[1]$ * 65536) + ($IP_Arr[2]$ * 256) + $IP_Arr[3]$

下面进行字段匹配,也就是需要将IP-number与IP_start和IP_end进行匹配,由此获得每个IP地址的所属位置(国家、经纬度坐标)

这里通过标注行ID,利用Binner模块进行RowID进行匹配

匹配结果如下:

匹配完成后就是基本统计和地图可视化了。

通过统计IP地址数量,排序、下载量大小的size、颜色、形状等特征后可以采用地理信息可视化方法,这里用了OSM(open street map)

这样我们就可以知道下载或更新我们软件的用户都来自哪个国家地区城市和数量。

接下来主要是可视化技术了,我们可以用更丰富的地理信息可视化进行展现或实时分析。

后续,我们可以通过Python进行实时分析和流分析纳入用户分析系统。

作者:沈浩,中国传媒大学新闻学院教授、博士生导师,中国传媒大学调查统计研究所所长,大数据挖掘与社会计算实验室主任,中国市场研究行业协会会长。

END

投稿和反馈请发邮件至holly0801@163.com,谢谢!

本文分享自微信公众号 - 大数据(hzdashuju)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据分析:微信红包金额分配的秘密

    “微信红包”是腾讯公司开发的社交软件——微信的一个附加功能。它可以在一对一聊天当中发送,也可以在群聊中发送。在群聊当中,可以一次性发送多于1个的红包,每个群成员...

    华章科技
  • 盘点56个最实用的大数据可视化分析工具

    一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上课选择的范围有限,这也意味...

    华章科技
  • 数据分析:微信红包金额分配的秘密

    本文首发于 思考者iThink (微信ID:iThink_1),大数据 经授权转载。如需转载,请与首发公众号联系授权事宜。

    华章科技
  • 很多人不知道什么是大数据,分享2019年我用Python爬虫技术做企业大数据的那些事儿

    什么是大数据和人工智能,分享2019年我用Python爬虫技术做企业大数据的那些事儿

    孔雀
  • 你真的了解127.0.0.1和0.0.0.0吗~

    事出有因,前段时间老大让小姐姐在测试环境搭建一个ELK。我说我搭好了,但Kibana端口不知为啥没暴露出去,其他机子访问不了我的Kibana但确可以ping通这...

    范蠡
  • 【科普】静态IP和动态IP有什么区别?

    动态IP和静态IP的区别在于:动态IP需要在连接网络时自动获取IP地址以供用户正常上网,而静态IP是ISP在装机时分配给用户的IP地址,可以直接连接上网,不需要...

    青果网络
  • 二百元成本单网站每天爬取百万量级数据的方法

    在网络爬虫抓取信息的过程中,如果抓取频率高过了网站设置的阀值,会被禁止访问。通常,网站的反爬虫机制依据IP来标识爬虫。

    普通程序员
  • IP为什么被Locked?

    在Vivado下使用IP时,有时会发现IP处于被Locked的状态,如下图所示。这个报告是由命令report_ip_status生成。可以看到,一旦IP被锁定,...

    Lauren的FPGA
  • copy_ip你用过吗?

    在Vivado工程中使用IP是非常常见的情形,而且还会出现同一个IP被多次使用。例如,设计中需要用到4个单端口RAM,其区别仅仅是深度或宽度(数据位宽)不一样,...

    Lauren的FPGA
  • 更换IP地址操作

    有时候我们因为网络问题、或其他原因需要更换服务器上绑定的IP地址,在更换IP之前需要明确下腾讯云IP的分类;

    夏日萤火

扫码关注云+社区

领取腾讯云代金券