#!/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'))
效果图: