110分钟使用Python搭建自己的IP定位查询接口

时间:2022-07-26
本文章向大家介绍110分钟使用Python搭建自己的IP定位查询接口,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

背景

近期公司对用户定位这块提了需要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)

请求示例