小生博客:http://xsboke.blog.51cto.com
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),錦州企業(yè)網(wǎng)站建設(shè),錦州品牌網(wǎng)站建設(shè),網(wǎng)站定制,錦州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,錦州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。 -------謝謝您的參考,如有疑問,歡迎交流
將DNS供應(yīng)商DNSPOD(dnspod)的域名導(dǎo)入到供應(yīng)商DNS中.
DNS(廈門帝恩思)的API需要付費使用,所以只能使用EXCEL的方式導(dǎo)入域名.
操作步驟:
下面是:DNS使用excel導(dǎo)入域名的提示.
溫馨提示:
1、上傳文件格式支持xls和xlsx,大小不超過2MB。
2、DNS云解析會按照預(yù)定模板掃描您的文件,并導(dǎo)入數(shù)據(jù)。下載模板
3、每次最多可導(dǎo)入100個域名,每個最多可以導(dǎo)入500條解析記錄,超出的部分將不會導(dǎo)入。
4、不同的域名按照sheet來區(qū)分,每個sheet一個域名。
此腳本是將DNSPOD的域名寫到excel,每個excel最多只寫入100個域名
from openpyxl import Workbook
import requests,time
'''
# 建議使用python3.X
# 需要安裝 requests和openpyxl庫
DNS使用excel導(dǎo)入域名時,每次只允許導(dǎo)入100條,
所以我們使用DNSPOD的OffSet和Length參數(shù),
每次只取100個域名寫入到一個工作薄中,每個域名一個工作表(sheet),工作表的名字就是域名
'''
def Get_Init(Login_Token, OffSet, Length):
'''
需要通過函數(shù)Get_Domians來判定OffSet和Length的數(shù)值.
:param Login_Token:
:param OffSet: 記錄開始的偏移, 第一條記錄為 0, 依次類推.
:param Length: 要獲取的域名數(shù)量, 比如獲取20個, 則為20.
:return:
'''
Time = time.time()
wb = Workbook()
FileName = './域名_' + str(Time) + '.xlsx' # 定義工作薄的名稱
Domain_R = requests.post('https://dnsapi.cn/Domain.List', data={'login_token': Login_Token,
'format': 'json',
'offset': OffSet,
'length': Length})
Domain_Result_Data = Domain_R.json()
Domians_Info = Domain_Result_Data['domains']
sheet_count = 0 # 用來統(tǒng)計當前工作薄中有多少個工作表(sheet)
for Domain_Dict in Domians_Info:
Domain_ID = Domain_Dict['id']
Domain_Name = Domain_Dict['name']
Domain_Status = Domain_Dict['status']
Domain_Ext_Status = Domain_Dict['ext_status']
if Domain_Status != 'enable':
'''如果域名沒有啟用則跳過'''
continue
if Domain_Ext_Status:
'''如果域名無效則跳過'''
continue
Cur_Sheet = wb.create_sheet(title=Domain_Name) # 創(chuàng)建工作表,并且設(shè)置工作表的名字為域名
Headers_List = ['主機','類型','線路','記錄值','MX優(yōu)先級','TTL'] # 設(shè)置第一行標題
Cur_Sheet.append(Headers_List) # 寫入第一行標題
Cols_Count = len(Headers_List) # 定義列數(shù)
Starting_Rows = 2 # 起始行為第二行,因為第一行插入了標題
Record_R = requests.post('https://dnsapi.cn/Record.List', data={'login_token': Login_Token,
'format': 'json',
'domain_id': Domain_ID})
Record_Result_Data = Record_R.json()
Record_Info = Record_Result_Data['records']
Record_List = []
'''
[Record_List] 的格式:
[
['@','A','默認','202.1.1.1','',600],
['www','CNAME','默認','cname.baidu.com','',600],
['m','A','默認','202.1.1.1','',600],
]
'''
for Record_Dict in Record_Info:
Record_Name = Record_Dict['name']
Record_Type = Record_Dict['type']
Record_Value = Record_Dict['value']
Record_Status = Record_Dict['enabled'] # 0,禁用 1,啟用
if Record_Status == '0':
'''如果記錄狀態(tài)為禁用則跳過'''
continue
if Record_Type == 'NS':
'''如果記錄類型為NS則跳過'''
continue
Record_List.append([Record_Name,Record_Type,'默認',Record_Value,'',600])
End_Rows = len(Record_List) + Starting_Rows # 定義結(jié)束行
Data_Row = 0 # 列表:[Record_List]的索引,從而循環(huán)取出每條解析記錄的信息
for rows in range(Starting_Rows, End_Rows):
Rows_Number = rows
Index = 0 # 用于取出當前解析記錄的記錄信息
for Int in range(65, 65 + Cols_Count):
Cols_Letter = chr(Int)
Cur_Sheet[Cols_Letter + str(Rows_Number)] = Record_List[Data_Row][Index]
Index = Index + 1
Data_Row = Data_Row + 1
wb.save(FileName)
sheet_count += 1
print(sheet_count)
def Get_Domians(Login_Token, Step_Size):
'''
:param Login_Token:
:param Step_Size: 步長,就是每次獲取域名的數(shù)量
:return:
'''
Count_R = requests.post('https://dnsapi.cn/Domain.List', data={'login_token': Login_Token,
'format': 'json'})
Count_Result_Data = Count_R.json()
if Count_Result_Data['status']['code'] != '1':
return Count_Result_Data
Count = int(Count_Result_Data['info']['domain_total'])
for OffSet in range(0, Count, Step_Size):
if Count > Step_Size:
Integer = Count // int(Step_Size) # 取整
Remainder = Count % int(Step_Size) # 取余
else:
# Integer = 0
#Remainder = Count
Get_Init(Login_Token=Login_Token, OffSet=OffSet, Length=Count)
continue
if OffSet != 0 and OffSet == Integer * Step_Size:
Length = Remainder
Get_Init(Login_Token=Login_Token, OffSet=OffSet, Length=Length)
else:
Length = Step_Size
Get_Init(Login_Token=Login_Token, OffSet=OffSet, Length=Length)
Dnspod_Token = 'ID,Token_Str'
Get_Domians(Login_Token=Dnspod_Token,Step_Size=100)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:批量將DNSPOD域名導(dǎo)入到DNS(廈門帝恩思)-創(chuàng)新互聯(lián)
本文地址:http://www.rwnh.cn/article46/cehdhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、商城網(wǎng)站、手機網(wǎng)站建設(shè)、面包屑導(dǎo)航、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容