1.介绍
⭐️ 先放上官网地址,以示敬意:https://dev.maxmind.com/?lang=en
⭐️ MaxMind GeoIP2 产品为广泛的应用程序提供 IP 地理定位和代理检测
⭐️ GeoIP2提供收费版和免费版两种,收费版提供的服务范围; 免费版包含范围
⭐️ 本文主要介绍免费版GeoLite2
的使用方式
2.安装
⭐️ 注册: 由于免费版的需要注册方能下载相应的数据库,我们从以下链接注册账号:注册链接
⭐️ 下载对应想要使用的数据库,我们这里下载的是mmdb格式的数据库,是国家数据库:
3.使用geoip2
⭐️ 这里是官方教学文档:API使用demo
⭐️ 安装安装包geoip2
:
pip install geoip2
⭐️ 读取解压后的数据库并查询相关IP
import geoip2.database
with geoip2.database.Reader("../../data/geoIP/GeoLite2-Country_20220104/GeoLite2-Country.mmdb") as reader:
response = reader.country("114.114.114.114")
print(response.country.iso_code)
# 打印结果
CN
4.总结
⭐️ geoip还提供了其他各种各样的信息,具体可去官网参考开发文档,如下显示部分查询IP获得的信息
geoip2.models.Country({'continent': {'code': 'AS', 'geoname_id': 6255147, 'names': {'de':
'Asien', 'en': 'Asia', 'es': 'Asia', 'fr': 'Asie', 'ja': 'アジア', 'pt-BR': 'Ásia', 'ru': 'Азия',
'zh-CN': '亚洲'}}, 'country': {'geoname_id': 1814991, 'iso_code': 'CN', 'names': {'de': 'China',
'en': 'China', 'es': 'China', 'fr': 'Chine', 'ja': '中国', 'pt-BR': 'China', 'ru': 'Китай',
'zh-CN': '中国'}}, 'registered_country': {'geoname_id': 1814991, 'iso_code': 'CN', 'names':
{'de': 'China', 'en': 'China', 'es': 'China', 'fr': 'Chine', 'ja': '中国', 'pt-BR': 'China',
'ru': 'Китай', 'zh-CN': '中国'}}, 'traits': {'ip_address': '114.114.114.114', 'prefix_len':
15}}, ['en'])
⭐️ 注意: 这个免费的数据库是每两周更新一次,如果长期使用的话注意维护数据库
5.参考资料
📗 1. 官方链接