【Python3】利用geoip2实现IP定位(离线版)

该博客介绍了如何使用Python3的geoip2库结合离线数据库GeoLite2 City进行IP定位,并通过GUI图形化界面展示定位结果。首先,确保安装了tkinter和geoip2模块,接着下载并配置IP数据库。最终,通过代码实现了从IP到地理位置信息的转换并以图形界面展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初步构想:

    通过IP地址来获取定位信息,并通过Python可视化界面显示出来。

准备工作:

    如果没有tkinter,请安装pip install tkinter

    安装geoip2模块(pip install geoip2)

    下载离线IP解析数据库GeoLite2 City,放在你的项目根目录。

    https://dev.maxmind.com/geoip/geoip2/geolite2/(注意MaxMind DB格式)

  代码实现:

#! python3
# @Project:  pythondemo - LocateFromIP.py
# @Info   :  根据IP定位(离线版),并用tkinter创建GUI界面
# 文档:https://geoip2.readthedocs.io/en/latest/#database-example

import tkinter.messagebox,geoip2.database,re

class FindLocation(object):
    def __init__(self):
        # 加载数据库(官网上免费数据库),数据库文件在根目录
        self.reader = geoip2.database.Reader('.\GeoLite2-City.mmdb')
        # 创建主窗口,即为根窗口
        self.root = tkinter.Tk(className='全球定位IP位置&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值