【发布时间】:2015-12-19 22:54:41
【问题描述】:
我有一个通过以下方式获取 DNS(CNAME、MX、NS)数据的脚本:
from dns import resolver
...
def resolve_dns(url):
response_dict = {}
print "\nResolving DNS for %s" % (url)
try:
response_dict['CNAME'] = [rdata for rdata in resolver.query(url, 'CNAME')]
except:
pass
try:
response_dict['MX'] = [rdata for rdata in resolver.query(url, 'MX')]
except:
pass
try:
response_dict['NS'] = [rdata for rdata in resolver.query(url, 'NS')]
except:
pass
return response_dict
这个函数会被连续的 URL 调用。如果可能的话,我想通过同时获取多个 URL 的数据来加快上述过程。
有没有办法完成上述脚本对一批 URL 所做的事情(可能返回一个 dict 对象列表,每个 dict 对应于特定 URL 的数据)?
【问题讨论】:
-
如果解析器 API 不允许批量 URI 查找,我建议使用线程或多处理。 stackoverflow.com/a/7207336/655757