#!/usr/bin/env python#coding:utf-8import os , sysfrom time import strftimefrom sys import exitimport json ,refrom aliyunsdkcore.client import AcsClientfrom aliyunsdkalidns.request.v20150109 import DescribeDomainsRequest,DescribeDomainRecordsRequest,UpdateDomainRecordRequestfrom openpyxl import Workbookimport urllibID="LTXXXW#SS85VctH"Secret="rdAMyKKb82KPW4uBLsynUun7n"RegionId="cn-beijing" client = AcsClient(ID,Secret,RegionId)def GetLogin():    req = DescribeDomainsRequest.DescribeDomainsRequest()    #status, headers, body = client.get_response(req)    #status, headers, body = client.do_action_with_exception(acs_request=req)    body = client.do_action_with_exception(req)    print (json.loads(body["Domains"]))    exit()    if status == 200:        pat = re.compile('
(.*?)
')        DomainName=re.findall(pat, body)        print(DomainName)        return DomainName    else:        print('Unexpected errors: status=%d, error=%s' % (status, body))def GetDomainList():    DomainList = DescribeDomainsRequest.DescribeDomainsRequest()    DomainList.set_accept_format('json')    try:        DNSListJson = json.loads(client.do_action_with_exception(DomainList))['Domains']['Domain']        #print(DNSListJson['Domains']['Domain'])        DomainNames=[]        for Domain in DNSListJson:            DomainNames.append(Domain['DomainName'])        #print (DomainNames)        return DomainNames    except ValueError as e :        passdef GetAllDomainRecords(DomainName):    DomainRecords = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest()    DomainRecords.set_accept_format('json')    DomainRecords.set_DomainName(DomainName)    DomainRecordsJson = json.loads(client.do_action_with_exception(DomainRecords))    for x in DomainRecordsJson['DomainRecords']['Record']:        #print(x)        pass    return DomainRecordsJson['DomainRecords']['Record']def WriteExeclpy(FileName,Records,WorkTable='Sheet1'):    wb = Workbook()    sheet = wb.active    sheet.title = str(WorkTable)    title=list(Records[0].keys())    for m in range(0,len(title)):        #print (title[m])        sheet.cell(row=1, column=int(m+1)).value = '%s' % (title[m])    i = 2    table = {}    for record in Records:        #print (record)        for m in range(0, len(title)):            sheet.cell(row=i, column=int(m + 1)).value = '%s' % (record[title[m]])        i=i+1    wb.save(FileName)def Test():    passif __name__ == '__main__':    GetDomainList()    Records=GetAllDomainRecords('itxxx.cc')    FileName = r'/tmp/execl_test10.xlsx'    #print(Records)    WriteExeclpy(FileName=FileName,Records=Records,WorkTable=strftime('%Y-%m-%d'))

效果图: