本文讲述利用python完成ip转换经纬信息.
此项目的的整体方案和项目进展在:
0.目录

ip采集插件SlimStat
数据库导出json
ip转化经纬
百度IP定位api_字典解析
天生输出json信息
1.ip采集插件:SlimStat
想要实践本项目须要大量ip信息,则利用wordpress插件SlimStat进行ip信息采集.请在插件项目中安装并且利用上一天有一定数据后再连续项目
2.数据库导出json
此部分会sql语句的可以直接进入mysql导出,也可以利用phpmyadmin作为可视化导出
进入phpmyadmin后台,选择博客的的数据库
.
在这个表中,有所有访问的ip记录,进入后
修正上方的sql语句为
Oracle PL/SQL
12SELECTipFROM`wp_slim_stats`实行之后页面就将只检索出ip的信息,然后下方有导出按钮,点击后选择自定义为json格式,导出得到:
保存为文件名 ip_add_all.json
3.ip转化经纬
4.百度IP定位api_字典解析
5.天生输出json信息
以下代码办理上面三个问题
这部分利用百度的api.如果想自己利用的话则须要申请一个帐号和运用,他会给你一个ak密钥,加入到下面的代码中就可以自动完成ip–>经纬了
http://lbsyun.baidu.com/apiconsole/key 这里可以找到百度api的信息,,在开放平台里.
python的代码则很大略
Python
123456789101112131415161718192021importurllib2importtimeIpList=open(\"大众ip_add_all.json\"大众,\"大众r\"大众).read()Ip=eval(IpList)flag=0file=open('point.json','w')foriinrange(20):#这里的数字要估算你的有多少数据ip=Ip[i]['ip']res=urllib2.urlopen(\"大众http://api.map.baidu.com/location/ip?ak=KrmZxHHwvLnl4Xfyt0FMMVzgGLaaxU2j&ip=\"大众+ip+\"大众&coor=bd09ll\"大众)#这部分里ak的值最好换成你的,如果零时用可以先用我的a=res.read()zidian=eval(a)flag+=1if(zidian['status']==0):printflag,iplng=zidian['content']['point']['x']lat=zidian['content']['point']['y']#print lat,lngstr_temp='{\公众lat\"大众: '+lat+', \公众lng\"大众:'+lng+'},\n'file.write(str_temp)file.close()转化之后得到的是:
完成转化