Отримати із WHOIS дату подовження домену

Невеликий скрипт для отримання дати закінчення домену із whois бази. Можливо отримати реєстратора та багато іншого, але в цілому завдання скрипту отримати дату закінчення реєстрації домену який передається як аргумент командного рядка.

Скрипт можливо використовувати як функцію у CMS (як і планується, але пізніше)

код (працює в Linux/NIX системах):

import subprocess
import sys

def get_whois(domain):
    # execute the whois command and get the output
    whois_output = subprocess.check_output(["whois", domain]).decode("utf-8")
    return whois_output

def get_expiration_date(whois_data):    
    # parse the whois_data for the expiration date
    for line in whois_data.split("\n"):
        if ("expires:" in line) or ("Expiry Date:" in line):
            return line.lower().split(": ")[1].strip().split(" ")[0]

return None

print('----************************************---')

if __name__ == "__main__":
    domain = sys.argv[1]  # отримати перший аргумент командного рядка (у нас там тільки одне доменне ім'я)
    expiration_date = get_expiration_date(get_whois(domain))
    if expiration_date:
        print("Expiration date:", expiration_date)
    else:
        print("Expiration date not found.")

 

Для Windows системи треба встановити в теку скрипту файл whois.exe з сайту microsoft. відповідно в коді буде

subprocess.check_output(["whois.exe", domain]).decode("utf-8")

Залишити відповідь