我需要检查包含单词“hello”的所有短域的可用性。它可以是“hellohi”,“aahellokk”或“hellowhello”。我知道有一些服务,比如http://www.bluehost.com/cgi-bin/signup,你需要逐个输入域名。但是,我想批量检查它们。然后,我需要生成一个单词列表。我错误地在Zsh中测试过:
echo {1..10}hello{A..Z}{5} > test
我不知道生成单词列表的最简单方法是什么。您如何查看空房情况?
答案 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解决方案,请使用例如host
,dig
或nslookup
执行DNS查询,并假设失败意味着域仍然可用。密切关注性能:其中一些实用程序可能比其他实用程序更快。
如果我可能会问:你需要什么?你是域名擅自占地者吗?
答案 2 :(得分:1)
答案 3 :(得分:0)
对于除最短名称和大词之外的任何内容,可能域的数量非常大;创建一个列表是不可能的大。例如,对于您想要检查4个字母单词的潜在11个字母的域名,您需要查看至少2个BILLION组合(粗略估计)。当然,如果您想检查一个10个字母的单词的11个字母的域名,那么您只需要查看72种可能性。