2016-08-03 11 views
0

Ich bin mit whois.whois auf Python 3.5 wie folgt:Python whois.whois eine Eigenschaft gibt Objekt

def simpleWhois(url): 
    try: 
     result = whois.whois(url) 
     return result 
    except Exception as error: 
     print(type(error), error, url) 
     return pd.Series.empty 

Auf den meisten URLs z 'google.com' Ich bekomme eine Pandas-Serie, aber bei einem Beispiel wie 'www.usaa-a.com' wird ein Fehler gemeldet, und ich bekomme eine <property object at 0x00000000XXXX>, Name: whois, dtype: object. Wessen Eigenschaften sind sie? Wie kann ich zu ihnen kommen? Wie kann ich testen, dass ich diese Art von Ergebnis anstelle einer Serie bekomme, und es vielleicht mit einer leeren Serie überschreiben, wenn ich nichts nützliches daraus bekomme? Danke!

+0

'google.com' ist ein Domainname, für den Sie' whois' verwenden können, während 'www.usaaa.com' ein Hostname ist. Im zweiten Fall versuchen Sie stattdessen nur mit 'usaaa.com'. –

Antwort

0

Ich verstehe immer noch nicht, warum ich eine Eigenschaft Objekt bekommen, aber für dieses spezielle Problem kam ich auf der folgende Lösung:

def simpleWhois(url): 
try: 
    result = whois.whois(url) 
    return result 
except: 
    error = sys.exc_info()[0] 
    print("Error: %s, %s, for %s " % (type(error), error, url)) 
    return whois.parser.WhoisEntry.load(url, '') 

das heißt Rückkehr einen leeren whois-Eintrags.