Как быстрее проверить домены в Python?

1

Есть ли способ улучшить скорость проверки скриптов? Или есть другое (не sw) решение?

Я пробовал что-то вроде этого (но его медленное и бесполезное):

import urllib
from socket import * 
import string, re

strings = string.ascii_lowercase
digits = string.digits

def validate(url):
    try:
        targetIP = gethostbyname(url)
        print url,' - Registered - ', targetIP
    except:
        print url," - Free"

def generate(url):

    for x in strings:      
        url_mod = "www."+ x + url
        validate(url_mod)

generate("atrion.com")
  • 3
    Я не думаю, что получение имен хостов будет работать. Иногда домен может быть зарегистрирован godaddy или кем-то еще после того, как человек, который его зарегистрировал, не продлил
  • 0
    Конечно, я знаю об этом. Я написал другую функцию, проверяющую свободные домены из функции validate () через некоторые серверы whois.
Теги:
dns
urllib

2 ответа

1
Лучший ответ

Ваша проблема с скоростью связана с поиском домена в DNS, а не с Python.

Я бы попытался настроить мою систему на использование другого DNS-сервера, например Google Public DNS. Обратите внимание, что это конфигурация уровня system-, а не конфигурация Python. Вы можете найти ссылку на инструкции по настройке на этой странице.

Обратите также внимание, что если вы делаете много таких запросов, Google может интерпретировать его как атаку службы denial- of- и отключить вас. Просто FYI.

  • 0
    Google DNS тоже работал медленно, но я попробовал сервер openDNS, который отлично работает. Спасибо за совет.
1

Так как ваша программа обычно ожидает активности в сети, вы можете, возможно, получить speed- путем потоковой передачи вашей программы.

Сказав это, если вы можете сделать это по-другому, это, вероятно, будет предпочтительным. Какую проблему вы действительно пытаетесь решить? Вы просто хотите узнать, какие доменные имена свободны в соответствии с приведенным вами примером или есть что-то еще, что вы после?

  • 0
    Ваша идея звучит интересно, надеюсь, я смогу написать ее таким образом. Пример, который я привел, был только для демонстрации. Я пытаюсь закодировать простую проверку домена. Код сначала проверяет наличие домена, а затем проверяет, зарегистрирован ли он.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню