Как проверить наличие коротких доменов, содержащих слово? - PullRequest
0 голосов
/ 17 мая 2009

Мне нужно проверить доступность всех коротких доменов, которые содержат слово "привет". Это может быть что-нибудь вроде «hellohi», «aahellokk» или «hellowhello». Я знаю, что есть сервисы, такие как http://www.bluehost.com/cgi-bin/signup,, где вам нужно вводить домены по одному. Тем не менее, я хочу проверить их. Затем мне нужно создать список слов. Я по ошибке проверил в Zsh:

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

Я не знаю, как проще всего составить список слов. Как бы вы проверили наличие?

Ответы [ 4 ]

3 голосов
/ 17 мая 2009

Вот мое решение 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. Кроме того, вам потребуется Python 2.6 для некоторых функций itertools.

Чтобы проверить, доступны ли домены, используйте:

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 голос
/ 10 сентября 2009

Вы можете использовать этот API поиска домена для проверки доступности доменного имени

1 голос
/ 17 мая 2009

Если вы действительно хотите решение zsh, используйте, например, host, dig или nslookup для выполнения DNS-запроса и предположения, что сбой означает, что домен все еще доступен. Следите за производительностью: некоторые из этих утилит могут работать быстрее других.

Если я могу спросить: зачем тебе это? Вы сквоттер доменного имени?

0 голосов
/ 17 мая 2009

Для всех, кроме самых коротких имен и больших слов, количество возможных доменов чрезвычайно велико; невероятно большой, чтобы создать их список. Например, для потенциального 11-буквенного доменного имени, для которого вы хотите проверить 4-буквенное слово, вы просматриваете как минимум 2 МИЛЛИАРДА комбинаций (приблизительная оценка). Конечно, если вы хотите проверить это 11-буквенное доменное имя для 10-буквенного слова, вам нужно всего 72 варианта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...