当找不到任何东西或whois无法在python中获得结果时,如何存储默认值

2024-09-29 21:50:28 发布

您现在位置:Python中文网/ 问答频道 /正文

代码

import whois 
domains = ['google.com', 'stackoverflow.com', 'hdtrcs.com' , 'facebook.com' ]
w = []
i = 0
for data in domains:
    n = domains[i]
    print(n)
    i = i+1
    data = whois.whois(n)
    if data != None:
            w.append(data['domain_name'])
    else:
        w.append('none')
print (w)

应存储w = ['GOOGLE.COM', 'STACKOVERFLOW.COM', 'none', 'facebook.com' ]

错误是它找不到域并停止检查下一个域

此代码给出的输出

^{pr2}$

如何消除此错误或添加一些默认值(如无)并将其存储在列表中,以及当出现此错误或找不到域时,继续检查其余域。在


Tags: 代码importcomnonedatafacebook错误google
2条回答

您可以使用dict.get

import whois 
domains = ['google.com', 'stackoverflow.com', 'hdtrcs.com' , 'facebook.com' ]
w = []
for dom in domains:
    w = whois.whois(dom)
    if w:
        w.append(w.get('domain_name', 'none'))    

print (w)

当找不到域名时,您使用的库会生成一个异常(whois.parser.PywhoisError)。在

因此,您需要捕获这个异常并处理它。在

将循环的末尾替换为以下内容:

try:
    data = whois.whois(n)
    w.append(data['domain_name'])
except whois.parser.PywhoisError:
    w.append('none')

您可能需要在文件顶部添加一个import whois.parser,以便在程序中知道异常(符号已解析)。在

相关问题 更多 >

    热门问题