Domain name suggest – Python

En este caso hoy vamos a desarrollar un proyecto sencillo en Python para obtener sugerencias de dominios disponibles a partir de 2 palabras requeridas.

A este proyecto lo vamos a llamar domain_suggest.py

Empezamos importando el módulo whois..

import whois

El módulo whois

Se trata de un módulo para Python que nos permite realizar infinidad de consultas a bases de datos whois, es además un protocolo muy utilizado para obtener información muy variada acerca de la propiedad y el registro de los nombres de dominio de internet que utilizamos a diario. Mediante esta librería los desarrolladores podemos automatizar y simplificar infinidad de acciones en relación con la obtención de datos de los dominios.

·  El registrante del dominio (nombre, organización, dirección).

·  La fecha de registro, actualización y expiración del dominio.

·  Los servidores de nombres (DNS) asociados al dominio.

·  Información del registrador (la entidad que administra el registro del dominio).

Vamos al código

Definimos la función check_domain_availability que se encarga de ver la disponibilidad de dominios también implementamos el manejo de excepciones para controlar los posibles errores más adelante definimos la función suggest_domains con la que obtendremos sugerencias de dominios disponibles.

Después crearemos una lista combinations donde podemos diseñar el formato y parte del contenido de las sugerencias que devolverá este programa.

Las sugerencias se construyen iterando listas mediante bucles for.

De esta manera tan sencilla podemos desarrollar un constructor de sugerencias para dominios disponibles completamente editable y ajustable a nuestras necesidades.

import whois

def check_domain_availability(domain_name):
    try:
        w = whois.whois(domain_name)
        if w.status is None:
            return True
        return False
    except whois.parser.PywhoisError:
        return True
    except Exception as e:
        print(f"Error checking domain {domain_name}: {e}")
        return False

def suggest_domains(word1, word2, tlds=['.com', '.net', '.org']):
    suggestions = []
    combinations = [
        f"{word1}{word2}",
        f"{word2}{word1}",
        f"{word1}-{word2}",
        f"{word2}-{word1}",
        f"{word1}{word2}online",
        f"{word2}{word1}online",
        f"{word1}site",
        f"{word2}site"
    ]

    print("Checking the following combinations:")
    print(combinations)

    for combo in combinations:
        for tld in tlds:
            domain_name = combo + tld
            if check_domain_availability(domain_name):
                suggestions.append(domain_name)
    
    return suggestions

def main():
    word1 = input("Enter the first word: ")
    word2 = input("Enter the second word: ")

    print("Checking available domain names...")

    available_domains = suggest_domains(word1, word2)

    if available_domains:
        print("Available domain names:")
        for domain in available_domains:
            print(domain)
    else:
        print("No available domain names found for the given words.")

if __name__ == "__main__":
    main()

Veamos como funciona…

python domain_suggest.py

Por ejemplo, …..Queremos un dominio para una web relacionadas con un proyecto de arte digital

Enter the first word: digital

Enter the second word: canvas

Checking the following combinations:
[‘digitalcanvas’, ‘canvasdigital’, ‘digital-canvas’, ‘canvas-digital’, ‘digitalcanvasonline’, ‘canvasdigitalonline’, ‘digitalsite’, ‘canvassite’]

Checking available domain names…
Available domain names:
digitalcanvas.com
canvasdigital.com
digital-canvas.com
canvas-digital.com
digitalcanvasonline.com
canvasdigitalonline.com
digitalsite.com
canvassite.com

Espero que haya sido de ayuda, hasta la próxima.

Deja un comentario

Scroll al inicio