39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
import whois
|
|
|
|
|
|
class WhoIS():
|
|
def __init__(self, domain):
|
|
self.domain = domain
|
|
self.getWhois(domain)
|
|
|
|
def getWhois(self, domain):
|
|
whoisData = whois.whois.Whois(domain).query()
|
|
whoisData = whois.parser.Parser(domain, whoisData[1]).parse()
|
|
self.registrar = whoisData.get('Registrar')
|
|
self.status = whoisData.get('Status')
|
|
self.registrant = self.buildRegistrantInfo(whoisData)
|
|
self.nameservers = self.splitNameservers(
|
|
whoisData.get('NameServer'))
|
|
self.createDate = whoisData.get('CreationDate')
|
|
self.expireDate = whoisData.get('ExpirationDate')
|
|
# self.nameservers = whoisData.get('NameServer')
|
|
|
|
def buildRegistrantInfo(self, whoisData):
|
|
print(whoisData)
|
|
ret = {}
|
|
ret['registrantName'] = whoisData.get('RegistrantName')
|
|
ret['eligibilityType'] = whoisData.get('EligibilityType')
|
|
ret['registrantID'] = whoisData.get('RegistrantID')
|
|
return ret
|
|
|
|
# I hate this, kill me now
|
|
def splitNameservers(self, nameservers):
|
|
ret = []
|
|
if '\n' in nameservers[0]:
|
|
nameservers = nameservers[0]
|
|
nameservers = nameservers.split('\n')
|
|
for x in nameservers:
|
|
ret.append(x.strip())
|
|
return ret
|
|
return nameservers
|