IPアドレスから位置情報を取得してみたい
IPアドレスは完全に公開された値ですが、このIPアドレスから緯度経度などの位置情報を取得することができます。
これらの情報を取得するためのAPIがいくつか用意されています。
今回はPythonからそれらを利用してみたいと思います。
api.hostip.info
このapiを利用してIPアドレスから緯度経度を含めた諸々の情報を取得できます。
Pythonをではrequestを使い以下のように利用します。
実行結果はこうなります。
緯度経度の他都市名なども取得できました。
MaxMind database
MaxMindはIPアドレスの位置情報を提供している会社です。
MaxMindから彼らのデータベースにアクセスするAPIが提供されているみたいです。
おそらくこれです。
Pythonからはこのように利用します。
IPアドレスは適当に指定しています。
実行するとこうなりました。
api.hostip.infoよりも詳細な情報が取得できました。
Shodan
これについては以前記事を書きましたが、Shodanという検索エンジンを使って位置情報を取得することもできます。
位置情報の他にも脆弱性やOSの種類なども取得できます。
アカウントを作成する必要がありますが、Pythonから利用することが可能です。
MaxMindとShodanについては他のプログラミング言語にも提供されているようです。
https://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs
https://developer.shodan.io/api/clients