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/

Facebooktwitterfoursquare

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です