0
点赞
收藏
分享

微信扫一扫

【第三发库】【GeoIP2】Python中geoip2的使用

言诗把酒 2022-01-10 阅读 24

文章目录

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. 官方链接

举报

相关推荐

0 条评论