Pythonを使用してIPアドレスを地理的位置情報に変換する方法


  1. GeoIPifyのAPIを使用する方法:
import requests
def get_location(ip_address):
    api_key = 'your_api_key'  # GeoIPifyのAPIキーを入力してください
    url = f'https://geo.ipify.org/api/v1?apiKey={api_key}&ipAddress={ip_address}'
    response = requests.get(url)
    data = response.json()
    if 'location' in data:
        location = data['location']
        country = location['country']
        region = location['region']
        city = location['city']
        postal_code = location['postalCode']
        latitude = location['lat']
        longitude = location['lng']
        print(f'IPアドレス: {ip_address}')
        print(f'国: {country}')
        print(f'地域: {region}')
        print(f'都市: {city}')
        print(f'郵便番号: {postal_code}')
        print(f'緯度: {latitude}')
        print(f'経度: {longitude}')
    else:
        print('地理情報が見つかりませんでした。')
ip_address = '123.456.789.0'  # 変換したいIPアドレスを入力してください
get_location(ip_address)

上記のコードでは、GeoIPifyのAPIキーを取得して適切な場所に入力する必要があります。APIキーはGeoIPifyのウェブサイトから無料で入手できます。

  1. GeoIPifyのPythonライブラリを使用する方法:
from geoipify import GeoIPify
def get_location(ip_address):
    api_key = 'your_api_key'  # GeoIPifyのAPIキーを入力してください
    geoip = GeoIPify(api_key)
    location = geoip.lookup(ip_address)
    if location:
        country = location['country']
        region = location['region']
        city = location['city']
        postal_code = location['postalCode']
        latitude = location['lat']
        longitude = location['lng']
        print(f'IPアドレス: {ip_address}')
        print(f'国: {country}')
        print(f'地域: {region}')
        print(f'都市: {city}')
        print(f'郵便番号: {postal_code}')
        print(f'緯度: {latitude}')
        print(f'経度: {longitude}')
    else:
        print('地理情報が見つかりませんでした。')
ip_address = '123.456.789.0'  # 変換したいIPアドレスを入力してください
get_location(ip_address)

上記のコードでは、geoipifyというPythonライブラリを使用しています。ライブラリをインストールするには、pip install geoipifyコマンドを使用してください。