python 本地解析IP地址所属地区信息

1、安装库

pip install geoip2

2、下载数据资源

https://dev.maxmind.com/geoip/geoip2/geolite2/

 

我们可以选择CSV格式文件,也可以选择MaxMind DB格式进行处理。

这些文件会在每个星期二进行更新,其中的city文件包含城市信息,Country文件仅能定位到国家,可以根据需求自行下载。

由于IP申请每时每刻都在进行,因此IP对应的地域也是在不断发生着变化。为了尽可能让我们的本地查询更准确,需要在每次geoip资源更新后进行本地文件的更新,但这也不能保证ip地址的信息100%准确。因为这中间有一个星期左右的数据更新延迟。

3、地址解析

在使用CSV文件进行解析时,需要自己实现掩码解析和id查询,而使用MaxMind DB格式进行处理时可以借助geoip2提供的api,只要输入IP地址就可以很方便的进行本地IP信息查询。

示例代码如下:

import geoip2.database

#GeoLite2-City.mmdb文件的位置

reader = geoip2.database.Reader('./GeoLite2-City.mmdb')

response = reader.city('128.101.101.101')

response.cou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值