30秒未満でPythonを使ってIPアドレスのジオロケーションデータを取得
2022年8月24日に投稿され、2022年9月7日に更新されました。
IPinfoのIPアドレスAPIは、とてもシンプルです。APIにリクエストを送ることも、公式のPythonライブラリを使うことも、あっという間に始められます。
このAPIサービスを使うと、IPアドレスから多くのデータや洞察を得ることができます。
🗺 ジオロケーションデータ
🌎 ISP、ホスティング、そして企業に関連するデータ
🔐 VPN、Tor、プロキシの使用などプライバシーやセキュリティに関するデータ
IPinfoのAPIはあなたが必要とする情報をすぐに提供します。無料プランもかなり寛大で、月に50,000回の無料ジオロケーションリクエストを提供します。さらに良いことに、クレジットカードは必要なく、GoogleまたはGithubアカウントを数秒で登録するだけです。
では、さっそく時計をスタートして、30秒未満でIPアドレスデータが取得できるか確認しましょう!
- GoogleアカウントまたはGitHubアカウントを使用できます。
- ダッシュボードに移動して、ページの下部からアクセストークンをコピーしてください!
PythonとPipが適切にインストールされていると仮定して -
-
pip
を使用してIPinfo Pythonモジュールをインストールします。pip install ipinfo
-
インストールが完了したら、すぐに使えますよ!
-
Pythonモジュールを使うには -
インポート→ハンドラを初期化→そのハンドラを使用してIPアドレスから情報を取得します。
import ipinfo
# ダッシュボードからあなたのアクセストークンを取得します
access_token = '0df49bbbc5e4eb'
# ハンドラを初期化します
handler = ipinfo.getHandler(access_token)
# IPアドレスを宣言します
ip_address = '216.239.36.21'
details = handler.getDetails(ip_address)
print(details.all)
私と同じ速さで書けるなら(それは疑わしいですね 😎)、20秒未満でこれらをすべて行うことができます。証明して欲しいですか?
では、単なるIPアドレスからどのような情報を得ることができるのでしょうか?実はたくさんの情報を得ることができます。
こちらが全てのデータ出力です -
{
'ip': '216.239.36.21',
'hostname': 'any-in-2415.1e100.net',
'anycast': True,
'city': 'Mountain View',
'region': 'California',
'country': 'US',
'loc': '37.4056,-122.0775',
'postal': '94043',
'timezone': 'America/Los_Angeles',
'asn':
{
'asn': 'AS15169',
'name': 'Google LLC',
'domain': 'google.com',
'route': '216.239.36.0/24',
'type': 'business'
},
'company':
{
'name': 'Google LLC',
'domain': 'google.com',
'type': 'business'
},
'privacy':
{
'vpn': False,
'proxy': False,
'tor': False,
'relay': False,
'hosting': False,
'service': ''
},
'country_name': 'United States',
'latitude': '37.4056',
'longitude': '-122.0775'
}
特定の関数を呼び出して個別のデータにアクセスすることもできます -
>> details.city
'Mountain View'
>> details.country
'US'
>> details.asn
{'asn': 'AS15169',
'name': 'Google LLC',
'domain': 'google.com',
'route': '216.239.36.0/24',
'type': 'business'}
>> details.loc
'37.4056,-122.0775'
もっと速くしたい場合は、IPinfo CLIを試してみることができます。これを使えば、Pythonの手間を省き、ターミナルからすべての情報を取得できます。
私に連絡したいですか?Twitterの@anyfactorでどうぞ。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/reincoder/ip-address-geolocation-data-with-python-in-under-30-seconds-1k1f