先介绍下背景:我负责微爱的后端,微爱是一款专给情侣使用的应用,官网地址:http://www.welove520.com 。
最近我想做这么一件事:分析用户的地域分布,比如北京多少人,四川多少人。现在有的数据是用户IP地址,所以首先需要根据IP地址查询用户所在省市,然后再统计分析。这个问题的关键是如何通过IP查询到用户所在地区。解决方案有俩:1. 搭建自己的IP 地址库,2. 使用其他网站提供的IP查询API。 最后我选择了方案1,下面把详细方法分享出来,互联网的精神就在于共享,希望此举对其他人有用。
步骤:
1. 下载纯真IP地址数据库,据说这个是国内最准确的,百度一下就可以找到很多下载。下载后安装运行,如下图:
我的IP地址是117.79.229.18,查询出来是在江苏,其实我在北京,IP库不是特别准确,有误差,免费的就凑合用吧,不想花钱买收费的。
2. 点击解压,会生成一个txt文件,如下图:
每一行的含义是这样的,比如第10行,表示:IP地址在1.1.0.0---1.1.0.255之间的是福建电信的。
3. 将IP数据导入数据库,我的DB是mysql,系统Linux。
表结构是这样的:
其中 ip_segment_begin_long 和 ip_segment_end_long是将IP地址转换成long型后存入的,并且这两个字段联合为唯一键,这么做是为了查询更快。
数据导入我就不多说了,用mysql的load data即可。导完后有44万行数据。
4. 至此,自己的IP地址库算是有了。接下来就是查询了,我的sql语句如下:
select * from ip_address where ip_segment_begin_long <= ? and ip_segment_end_long >= ?
问号处是将IP地址转换成long型后的值。这样,我就可以根据IP查询用户所在地了!
分享到:
相关推荐
通过竞赛,检验参赛选手的计算机网络的拓扑规划能力、IP地址规划能力、综合布线的施工测试能力、设备配置与连接能力、网络安全管理与维护能力、服务器的搭建与调试能力、故障排除和验证能力、应用的接入与测试能力、...
通过竞赛,检验参赛选手的计算机网络的拓扑规划能力、IP地址规划能力、综合布线的施工测试能力、设备配置与连接能力、网络安全管理与维护能力、服务器的搭建与调试能力、故障排除和验证能力、应用的接入与测试能力、...
如果你正在寻找一个开源的应用源码和后端源码,那么小丫软件库是一个不错的选择。... 后台管理地址为:域名或IP地址/admin。登陆后,你可以根据自己的需求进行配置...修改为你自己的域名或IP地址,确保与你的后端搭建一致
编译前,需要自己先搭建osip eXosip的库环境,去官网下载,就好了, Linux平台: 基于osip eXosip的服务器, 客户端源码, 可以编译通过,正常使用修改IP地址就可以了
上一文写了如何从代理服务网站提取 IP,本文就讲解如何存储 IP,毕竟...Python搭建代理IP池(一)- 获取 IP Python搭建代理IP池(三)- 检测 IP Python搭建代理IP池(四)- 接口设置与整体调度 使用的库:pymysql 定义
Ubuntu上搭建SVN服务器详细步骤。 目 录 1 概述 1 2 安装Ubuntu 9.10服务器 1 3 安装Apache服务器 1 4 创建SVN服务器 1 4.1 安装SVN 1 ...附录B:Ubuntu 9.10修改IP地址 10 附录C:Ubuntu下配置SSH服务 10
告知www.xtvtc.edu.cn的域名服务器的IP地址或告知找不到数据 DNS完整的查询过程 主机 本地NDS服务器 项目8-局域网服务器的搭建全文共42页,当前为第12页。 HTTP和万维网 项目8-局域网服务器的搭建全文共42页,当前为...
IP地址 10.0.0.43 cd /usr/local/sbin/ chmod +x docker-compose docker-compose -v tar zxf harbor-offline-installer-v1.8.1.tgz cd harbor/ mv harbor /usr/local/ cd /usr/local/ vim harbor.yml ...
后台地址:域名或者ip/admin 然后自己修改配置即可 后端搭建完成,现在导入iapp源码 导入iapp源码之后,修改mian.iyu载入事件的对接api和url就可以打包了 sss url=”域名/json/” sss api=”域名/assets/”
使用到的设备有:stm32f103c8t6、esp826601s模块、usb转TTL模块 stm32与esp8266搭建tcp服务器 可看到esp8266建立WiFi热点为:Mypro Ip地址:192.168.1.1
IP地址:10.211.55.30 dockere版本:1.10.3 镜像仓库:v2 首先在10.211.55.30机器上下载registry镜像 $ docker pull registry 也可以进行镜像导入的方法进行离线的安装。可以去我的网盘中下载:...
这是一个线上培训系统的源码,按教程搭建起来很简单,经测试是可以二次开发的,有点播,直播,题库,考试,支付和...内网以及使用ip访问:直接填写ip地址,示例如下:add name="122.114.68.70" 注意:不需要带端口号。
本视频主要讲述对白日门手游的搭建和客户端的IP地址修改 改IP即可 所需工具,宝塔5.4或新版宝塔(注:新版只支持Windows server版本),apktool,微软64位运行库,N11数据库管理软件,N++文本编辑,好压,搜狗...
这是一个网校培训系统的源代码和部署文档,可以二次开发,按教程搭建起来很简单,有点播版块,直播版块,题库版块,...内网以及使用ip访问:直接填写ip地址,示例如下:add name="122.114.68.70" 注意:不需要带端口号。
从库的ip地址:127.0.0.1 从库的端口:3308 注:主库和从库版本可以一致也可以不一致,需要说明一点,如果两者版本不一致,一般主库的版本需要比从库的版本低,这样就可以避免由于版本问题,有些sql不能执行的问题。
zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。dubbo:是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者...
计算机专业的毕业设计,...APP可以使用hbuilderx进行真机运行(真机运行需使手机和电脑处于同一局域网下,并且APP里的ip地址需要更换成自己当前ip地址),暂时就这些,有什么问题可以私信或者评论,我有时间就会看的
IP地址 10.0.0.43 服务器系统 Centos7.3 内存 1G CPU 2核 IP地址 10.0.0.44 先在43主机上操作 docker save -o nginx.tar nginx:1.1 docker rmi nginx:1.1 docker stop df0f22488230 docker ...
目录 ensp使用教程 1.mp4 ensp使用教程 2.mp4 ensp使用教程-AAA.mp4 ...ensp使用教程-拓扑搭建和IP地址的配置.mp4 ensp使用教程-设备选取详解.mp4 ensp使用教程-链路聚合.mp4 ensp使用教程-静态路由.mp4
最近因为工作要求需要用学习使用docker,最后卡...但这里有一个问题,这个IP地址并不是静态分配的,这对我们的对容器的实例的网络管理造成一了些困难。这里笔者并不想直接给出解决方案,因为那样子并没有什么卵用,理解