
專注用戶體驗(yàn)設(shè)計(jì)與開(kāi)發(fā)
-
商務(wù)合作
- 郵箱:123456789@qq.com
- 手機(jī):15323711532
- 座機(jī):0755-84185494
- 地址:廣東省深圳市龍崗區(qū)布吉中興路21號(hào)基業(yè)大廈
Copyright ? 2015 深圳市鑫惠廣網(wǎng)絡(luò)科技有限公司 粵ICP備2023111395號(hào)
由于公司有大量域名信息需要定期查看是否需要續(xù)期,前期都是人工操作比較耗時(shí)、耗力。所以衍生了這個(gè)小工具。
實(shí)現(xiàn)了查詢域名到期時(shí)間、并且將近7天內(nèi)到期的域名在Excel中標(biāo)紅,當(dāng)然你也可以添加短信提醒和郵件提醒
比如:domain.txt
# 批量讀取文件中的域名defread_file(filePath):withopen(filePath, "r") asf: # 打開(kāi)文件data = f.readlines() # 讀取文件returndata
# 通過(guò)某網(wǎng)站獲取域名到期時(shí)間 def get_expiry_date(url_list): url_expiry_date_list = [] forurl inurl_list: url_expiry_date_dict = {} time.sleep(random.randrange(3)) req_whois = urllib.request.urlopen(''http://whois.xxxxxx.com/''+ url) result = req_whois.read().decode() html = etree.HTML(result) endTimes = html.xpath(''//a[@]/preceding-sibling::span[1]/text()'') iflen(endTimes) > 0: endTime = endTimes[0].replace(''年'', ''-'').replace(''月'', ''-'').replace(''日'', '''') else: errorInfo = html.xpath(''//p[@]'') endTime = errorInfo[0].xpath(''string(.)'').strip() url_expiry_date_dict[''url''] = url.replace(''\n'', '''') url_expiry_date_dict[''endTime''] = endTime pprint.pprint(url_expiry_date_dict) url_expiry_date_list.append(url_expiry_date_dict) pprint.pprint(url_expiry_date_list) returnurl_expiry_date_list
# 寫入Excel文件def write_excel(domain_list): # 創(chuàng)建一個(gè)新的文件withxlsxwriter.Workbook(''host_ip.xlsx'') asworkbook: # 添加一個(gè)工作表worksheet = workbook.add_worksheet(''域名信息'') # 設(shè)置一個(gè)加粗的格式bold = workbook.add_format({"bold": True}) # 分別設(shè)置一下 A 和 B 列的寬度worksheet.set_column(''A:A'', 50) worksheet.set_column(''B:B'', 15) # 先把表格的抬頭寫上,并設(shè)置字體加粗worksheet.write(''A1'', ''域名'', bold) worksheet.write(''B1'', ''信息'', bold) # 設(shè)置數(shù)據(jù)寫入文件的初始行和列的索引位置row= 1col= 0fordomain_ex_date indomain_list: url= domain_ex_date[''url''] endTime = domain_ex_date[''endTime''] currDate = datetime.today().date() try: endDate = datetime.strptime(endTime, "%Y-%m-%d").date() diffDate = endDate - currDate ifdiffDate.days <= 7: style= workbook.add_format({''font_color'': "red"}) else: style= workbook.add_format({''font_color'': "black"}) except: style= workbook.add_format({''font_color'': "red"}) pprint.pprint(url+ '': ''+ endTime) worksheet.write(row, col, url, style) worksheet.write(row, col+ 1, endTime, style) row+= 1
urls = read_file(''domain.txt'') urls_list = get_expiry_date(urls) write_excel(urls_list)
運(yùn)行結(jié)果:
#!/usr/bin/env python# -*- coding: utf-8 -*-# Author:高效碼農(nóng)import pprint import time import random import xlsxwriter from datetime import datetime import urllib.request from lxml import etree # 批量讀取文件中的域名def read_file(filePath): withopen(filePath, "r") asf: # 打開(kāi)文件data= f.readlines() # 讀取文件returndata# 通過(guò)某網(wǎng)站獲取域名到期時(shí)間defget_expiry_date(url_list): url_expiry_date_list = [] forurlinurl_list: url_expiry_date_dict = {} time.sleep(random.randrange(3)) req_whois = urllib.request.urlopen(''http://whois.xxxxxx.com/''+ url) result= req_whois.read().decode() html = etree.HTML(result) endTimes = html.xpath(''//a[@]/preceding-sibling::span[1]/text()'') iflen(endTimes) > 0: endTime = endTimes[0].replace(''年'', ''-'').replace(''月'', ''-'').replace(''日'', '''') else: errorInfo = html.xpath(''//p[@]'') endTime = errorInfo[0].xpath(''string(.)'').strip() url_expiry_date_dict[''url''] = url.replace(''\n'', '''') url_expiry_date_dict[''endTime''] = endTime pprint.pprint(url_expiry_date_dict) url_expiry_date_list.append(url_expiry_date_dict) pprint.pprint(url_expiry_date_list) returnurl_expiry_date_list # 寫入Excel文件defwrite_excel(domain_list): # 創(chuàng)建一個(gè)新的文件withxlsxwriter.Workbook(''host_ip.xlsx'') asworkbook: # 添加一個(gè)工作表worksheet = workbook.add_worksheet(''域名信息'') # 設(shè)置一個(gè)加粗的格式bold = workbook.add_format({"bold": True}) # 分別設(shè)置一下 A 和 B 列的寬度worksheet.set_column(''A:A'', 50) worksheet.set_column(''B:B'', 15) # 先把表格的抬頭寫上,并設(shè)置字體加粗worksheet.write(''A1'', ''域名'', bold) worksheet.write(''B1'', ''信息'', bold) # 設(shè)置數(shù)據(jù)寫入文件的初始行和列的索引位置row= 1col= 0fordomain_ex_date indomain_list: url= domain_ex_date[''url''] endTime = domain_ex_date[''endTime''] currDate = datetime.today().date() try: endDate = datetime.strptime(endTime, "%Y-%m-%d").date() diffDate = endDate - currDate ifdiffDate.days <= 7: style= workbook.add_format({''font_color'': "red"}) else: style= workbook.add_format({''font_color'': "black"}) except: style= workbook.add_format({''font_color'': "red"}) pprint.pprint(url+ '': ''+ endTime) worksheet.write(row, col, url, style) worksheet.write(row, col+ 1, endTime, style) row+= 1urls = read_file(''domain.txt'') urls_list = get_expiry_date(urls) write_excel(urls_list)
專注用戶體驗(yàn)設(shè)計(jì)與開(kāi)發(fā)
Copyright ? 2015 深圳市鑫惠廣網(wǎng)絡(luò)科技有限公司 粵ICP備2023111395號(hào)