gpt4 book ai didi

python - 使用 pythonwhois 测试域名可用性

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:16 27 4
gpt4 key购买 nike

我正在成功使用 pythonwhois(通过 pip install ... 安装)来检查 .com 域的可用性:

import pythonwhois
for domain in ['aaa.com', 'bbb.com', ...]:
details = pythonwhois.get_whois(domain)
if 'No match for' in str(details): # simple but it works!
print domain

但是:

  • 有点慢(平均每秒 2 个请求)
  • 如果我发出 26*26*26 ~ 17000 个请求,我不会被 whois 服务器列入黑名单吗?
    (我正在测试 ???mail.com 的可用性,其中 ?a..z)

问题:是否有比每个域执行一个 whois 请求更好的方法来检查可用性?

<小时/>

编辑:该作业在 9572 秒内完成,并且 here is the full list截至 2017 年 11 月,如果有人有兴趣启动电子邮件服务,请查看 ???mail.com 形式的所有可用域!

最佳答案

你应该并行化你正在做的事情。由于您的函数花费的大部分时间都在等待,因此您可以一次验证很多工作(不限于您的处理器数量)。示例:

import pythonwhois
from joblib import Parallel, delayed, cpu_count
n_jobs = 100 # works in parallel
def f(domain):
details = pythonwhois.get_whois(domain)
if 'No match for' in str(details): # simple but it works!
print(domain)
return domain
else:
return None

domains= ['aaa.com', 'bbb.com', 'ccc.com', 'bbbaohecraoea.com']
result = Parallel(n_jobs=n_jobs, verbose=10)(delayed(f)(domain) for domain in domains)

# create a list with the available domains
available_domains=[domains[idx] for idx,r in enumerate(result) if r!=None]
print(available_domains)
# Result
# ['bbbaohecraoea.com']

关于python - 使用 pythonwhois 测试域名可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47418061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com