如何检查包含单词的短域的可用性?

时间:2009-05-16 23:18:06

标签: list dns

我需要检查包含单词“hello”的所有短域的可用性。它可以是“hellohi”,“aahellokk”或“hellowhello”。我知道有一些服务,比如http://www.bluehost.com/cgi-bin/signup,你需要逐个输入域名。但是,我想批量检查它们。然后,我需要生成一个单词列表。我错误地在Zsh中测试过:

echo {1..10}hello{A..Z}{5} > test

我不知道生成单词列表的最简单方法是什么。您如何查看空房情况?

4 个答案:

答案 0 :(得分:3)

这是我的Python解决方案。要生成域,请使用以下内容:

from itertools import product, permutations
import operator

chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
l = 2    # Max prefix / suffix length
words = reduce(operator.add, [[''.join(p) for p in permutations(chars, i)] for i in range(1, l+1)])
domains = [w[0] + 'hello' + w[1] for w in product(words, words)]

如果l大于2或3,这将花费很长时间并使用大量内存。此外,对于某些itertools功能,您将需要Python 2.6。

要检查域是否可用,请使用以下命令:

import commands

for domain in domains:
    output = commands.getoutput('whois %s.com' % domain).lower()
    if 'not found' in output or 'no match' in output:
        print domain + '.com'

为了加快速度,您可以使用线程进行whois检查。

答案 1 :(得分:1)

如果你真的想要一个zsh解决方案,请使用例如hostdignslookup执行DNS查询,并假设失败意味着域仍然可用。密切关注性能:其中一些实用程序可能比其他实用程序更快。

如果我可能会问:你需要什么?你是域名擅自占地者吗?

答案 2 :(得分:1)

您可以使用此domain search api来检查domain name availability

答案 3 :(得分:0)

对于除最短名称和大词之外的任何内容,可能域的数量非常大;创建一个列表是不可能的大。例如,对于您想要检查4个字母单词的潜在11个字母的域名,您需要查看至少2个BILLION组合(粗略估计)。当然,如果您想检查一个10个字母的单词的11个字母的域名,那么您只需要查看72种可能性。