whois
30分プログラム、その250。Pythonでドメイン検索。
海外サーバを借りて、ついでにもう一つドメインを取得しようかと考えている。とりあえず、空いてて格好いいドメインがないか探してみる。
毎回、Webインタフェースから検索するのも嫌なので、コマンドラインからできるようにしてみた。でもwhois使って、foo.comとfoo.orgとfoo.netと(略)と探すのは面倒なので、トップレベルドメイン(.comとかの部分)は自動でおぎなうようにしてみた。
ドメイン検索はwhoisコマンドを使っているんだけど、トップレベルドメインによって応答が違ってすごく嫌。統一してくれよ。あるいは、なんかオプションがあるのか?
使い方
$ python whois-ex.py hogewiki hogewiki.com hogewiki.org hogewiki.net hogewiki.us hogewiki.biz hogewiki.info
ソースコード
import sys import os def is_own(domain): """check 'domain' is own by anyone""" # popen: http://docs.python.org/lib/os-newstreams.html result = os.popen('whois -Q %s' % domain).read() return (result.find('No match') == -1 and result.find('Not found') == -1 and result.find('NOT FOUND') == -1) def is_available(name): l = [] for tld in ('.com','.org','.net','.us','.biz','.info'): if not is_own(name+tld): print name+tld l names = sys.argv[1:] if len(names) == 0: for name in sys.stdin: is_available(name[0:-1]) else: for name in sys.argv[1:]: is_available(name)