Python で MaxMind DB を使う
python3-GeoIP の次のバージョンとして python3-maxminddb がリリースされた。
そこで今回は、python3-maxminddb について説明する。
インストール
# dnf install python3-maxminddb
例:IPアドレスから国コードを取得
>>> import maxminddb >>> >>> reader = maxminddb.Reader('/usr/share/GeoIP/GeoLite2-Country.mmdb') >>> reader.get('182.61.146.29') {'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': '中国'}}} >>> reader.get('182.61.146.29')['country']['iso_code'] 'CN' >>>
参考
https://pypi.org/project/maxminddb/0.3.2/
https://maxminddb.readthedocs.io/en/latest/