我正在编写一个Python程序来查找域列表的MX记录,并将其输出到CSV文件中。到目前为止,一切正常,但我遇到了一个小问题,我似乎无法理解
这是我的密码:
import dns.resolver
import pandas as pd
mx = []
domans = []
provider = pd.Series([])
domain = input("Domain Name\n")
result = dns.resolver.resolve(domain, 'MX')
for exdata in result:
exdata = str(exdata)
exdata = exdata.split(" ")
mx.append(exdata[1])
domain = domain + ","
num_domains = domain * len(mx)
num_domains = str(num_domains)
num_domains = num_domains.split(",")
for g in num_domains:
g = str(g)
g = g.split(",")
domans.append(g[0])
if any("mail.protection.outlook.com" in x for x in exdata):
provider = "Office 365"
elif any("google" in x for x in exdata):
provider = "Google"
elif any("mimecast" in x for x in exdata):
provider = "Mimecast"
dataset = pd.DataFrame(list(zip(domans, mx)))
dataset.insert(2, "Provider", provider)
dataset.sample(0)
dataset.columns = ['domain','mx record','Provider']
dataset.dropna(axis = 0, how = 'any', inplace = True)
dataset.index = pd.RangeIndex(len(dataset.index))
dataset.to_csv (r'export_dataframe.csv', index = False, header=True)
以下是输入为google.com时的CSV结果
domain,mx record,Provider
google.com,alt3.aspmx.l.google.com.,Google
google.com,alt1.aspmx.l.google.com.,Google
google.com,alt2.aspmx.l.google.com.,Google
google.com,alt4.aspmx.l.google.com.,Google
google.com,aspmx.l.google.com.,Google
我只想让提供商只打印一次“google”。通过这种方式,我可以查看CSV列表并获取准确的提供商数量
欢迎您的任何意见
我不确定您期望的输出是什么,但可以使用Groupby在保留MX记录的同时使其成为一行
导出_dataframe.csv
相关问题 更多 >
编程相关推荐