背景
近期公司对用户定位这块提了需要ip定位的需求,找了半天资料,发现了这个超级好用的python库,基于纯真网络dat数据,ip地址库和查询全都已经封装好了,使用库10分钟搞定,美滋滋。话不多说,开整!
上代码
说明
- 项目基于PYTHON3环境,接口端口号为8889。
- 项目使用qqwry库和flask轻量级接口框架。
qqwry_update.py 地址库更新工具类
from qqwry import updateQQwry
# 更新数据
ret = updateQQwry('ip.dat')
print(ret)
qqwry_ip.py 定位接口
import json
from qqwry import QQwry
import flask
from flask import request
server = flask.Flask(__name__)
wry = QQwry()
wry.load_file('ip.dat')
@server.route("/ip", methods=['get'])
def location():
ip = request.args.get("ip")
info = wry.lookup(ip)
res = {'ip': ip, 'city': info[0], 'isp': info[1]}
print(res)
return json.dumps(res)
server.run(port=8889, debug=True)
请求示例
http://lzzly.top:8889/ip?ip=123.145.210.216