#!/usr/bin/env python #coding:utf-8 import os , sys from time import strftime from sys import exit import json ,re from aliyunsdkcore.client import AcsClient from aliyunsdkalidns.request.v20150109 import DescribeDomainsRequest,DescribeDomainRecordsRequest,UpdateDomainRecordRequest from openpyxl import Workbook import urllib ID="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>(.*?)</DomainName>‘) 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 : pass def 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(): pass if __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‘))
效果图:
时间: 2024-10-18 23:28:30