【Python】DomainToolsのAPIの使い方

【Python】DomainToolsのAPIの使い方

DomainToolsのAPIを用いて、Pythonで実装する方法を解説します。

まず、コマンドプロンプト上で下記コマンドを実行し、DomainToolsのAPIをインストール。
GitHubでインストール可能ですが、pipをするだけで大丈夫です。

pip install domaintools_api --upgrade

DomainToolsのAPIをPythonでインストール

次にPythonを起動し、domaintoolsをインポートします。

そして、API認証を行うユーザ名とKEYを読み込みます。

from domaintools import API

api = API(USER_NAME, KEY)

認証を行うAPIキーを取得するには、有償でDomainToolsに登録する必要があります。
一カ月99ドルなので、それなりの価格です。

APIを読み込んだら、Whois Lookupやドメインのプロフィールを検索することが可能。

Google.comのWhois Lookup情報を見る場合

who = api.whois('google.com').data()
print(who)

これで辞書型(Json形式)でWhois情報が出力されます。

whoisの中のregistrantを指定する場合

who = api.whois('google.com').data()
print(who['response']['registrant'])

api.whoisの構造は下記公式サイトから確認可能。

ProductsのサイドバーからWhois LookupのほかにもDomain Profile、Reverse IPなどの機能を確認できます。
Whois Lookup | API Documentation | Resources | DomainTools

help(api)と入力することで、各機能の説明を見ることができます。
DomainTools APIのヘルプ情報

api.whois_historyでWhoisのヒストリー、api.reputationでレピュテーションスコア出力などの機能があります。

ドメインの問いかけに対して、データがない場合等はエラーとなってしまうため、下記のようなエラー処理を行うとプログラムが終了することはありません。

try:
    api.domain_profile('ドメイン名').data()
except Exception as e:
    assert e.code == 400
    assert 'We could not understand your request' in e.reason['error']['message']

詳しい解説は以下の公式githubページより確認できます。(英語)
link:GitHub – DomainTools/python_api: DomainTools’ Official Python API