30秒未満でPythonを使ってIPアドレスのジオロケーションデータを取得

IPアドレスのジオロケーションデータを30秒未満で開始し、2ステップで完了する

Reincoder

2022年8月24日に投稿され、2022年9月7日に更新されました。

IPinfoのダッシュボード

IPinfoのIPアドレスAPIは、とてもシンプルです。APIにリクエストを送ることも、公式のPythonライブラリを使うことも、あっという間に始められます。

このAPIサービスを使うと、IPアドレスから多くのデータや洞察を得ることができます。
🗺 ジオロケーションデータ
🌎 ISP、ホスティング、そして企業に関連するデータ
🔐 VPN、Tor、プロキシの使用などプライバシーやセキュリティに関するデータ

IPinfoのAPIはあなたが必要とする情報をすぐに提供します。無料プランもかなり寛大で、月に50,000回の無料ジオロケーションリクエストを提供します。さらに良いことに、クレジットカードは必要なく、GoogleまたはGithubアカウントを数秒で登録するだけです。

では、さっそく時計をスタートして、30秒未満でIPアドレスデータが取得できるか確認しましょう!

Sign up with IPinfo

  1. GoogleアカウントまたはGitHubアカウントを使用できます。
  2. ダッシュボードに移動して、ページの下部からアクセストークンをコピーしてください!

PythonとPipが適切にインストールされていると仮定して -

  1. pipを使用してIPinfo Pythonモジュールをインストールします。

    pip install ipinfo

  2. インストールが完了したら、すぐに使えますよ!

  3. 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