Как быстрее проверить домены в Python? - PullRequest
1 голос
/ 09 июня 2011

Есть ли способ как улучшить скорость проверки скриптов?Или есть другое (не 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")

Ответы [ 2 ]

1 голос
/ 09 июня 2011

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

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

1 голос
/ 09 июня 2011

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

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

Обратите также внимание, что если вы делаете лот таких запросов, Google может интерпретировать это как атаку отказа в обслуживании иотрезать тебяПросто к вашему сведению.

...