import whois class WhoIS(): def __init__(self, domain): self.domain = domain if domain != 'blank': 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') print(whoisData) # if self.status == None: # self.status = "We blacklisted bois" def buildRegistrantInfo(self, 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): if nameservers == None: return 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