过期域名查询工具(域名到期时间查询)

过期域名查询工具(域名到期时间查询)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

由于公司有大量域名信息需要定期查看是否需要续期,前期都是人工操作比较耗时、耗力。所以衍生了这个小工具。

实现了查询域名到期时间、并且将近7天内到期的域名在Excel中标红,当然你也可以添加短信提醒和邮件提醒

代码步骤

1、将域名粘贴到指定txt文件中

比如:domain.txt

过期域名查询工具(域名到期时间查询)

2、将指定txt文件中内容读取到list中
# 批量读取文件中的域名
def read_file(filePath):
with open(filePath, "r") as f: # 打开文件
data = f.readlines() # 读取文件
return data
3、通过某网站获取域名到期时间
# 通过某网站获取域名到期时间
def get_expiry_date(url_list):
url_expiry_date_list = []
for url in url_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[@id="update_a2"]/preceding-sibling::span[1]/text()')
if len(endTimes) > 0:
endTime = endTimes[0].replace('年', '-').replace('月', '-').replace('日', '')
else:
errorInfo = html.xpath('//div[@class="IcpMain02"]')
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)
return url_expiry_date_list
4、将结果写入Excel文件
# 写入Excel文件
def write_excel(domain_list):
# 创建一个新的文件
with xlsxwriter.Workbook('host_ip.xlsx') as workbook:
# 添加一个工作表
worksheet = workbook.add_worksheet('域名信息')
# 设置一个加粗的格式
bold = workbook.add_format({"bold": True})
# 分别设置一下 A 和 B 列的宽度
worksheet.set_column('A:A', 50)
worksheet.set_column('B:B', 15)
# 先把表格的抬头写上,并设置字体加粗
worksheet.write('A1', '域名', bold)
worksheet.write('B1', '信息', bold)
# 设置数据写入文件的初始行和列的索引位置
row = 1
col = 0
for domain_ex_date in domain_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
if diffDate.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

5、运行
urls = read_file('domain.txt')
urls_list = get_expiry_date(urls)
write_excel(urls_list)

运行结果:

过期域名查询工具(域名到期时间查询)

6、完整代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author:高效码农

import pprint
import time
import random
import xlsxwriter
from datetime import datetime
import urllib.request
from lxml import etree

# 批量读取文件中的域名
def read_file(filePath):
with open(filePath, "r") as f: # 打开文件
data = f.readlines() # 读取文件
return data

# 通过某网站获取域名到期时间
def get_expiry_date(url_list):
url_expiry_date_list = []
for url in url_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[@id="update_a2"]/preceding-sibling::span[1]/text()')
if len(endTimes) > 0:
endTime = endTimes[0].replace('年', '-').replace('月', '-').replace('日', '')
else:
errorInfo = html.xpath('//div[@class="IcpMain02"]')
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)
return url_expiry_date_list

# 写入Excel文件
def write_excel(domain_list):
# 创建一个新的文件
with xlsxwriter.Workbook('host_ip.xlsx') as workbook:
# 添加一个工作表
worksheet = workbook.add_worksheet('域名信息')
# 设置一个加粗的格式
bold = workbook.add_format({"bold": True})
# 分别设置一下 A 和 B 列的宽度
worksheet.set_column('A:A', 50)
worksheet.set_column('B:B', 15)
# 先把表格的抬头写上,并设置字体加粗
worksheet.write('A1', '域名', bold)
worksheet.write('B1', '信息', bold)
# 设置数据写入文件的初始行和列的索引位置
row = 1
col = 0
for domain_ex_date in domain_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
if diffDate.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)

分享到 :
相关推荐

租用美国服务器后需要做好哪些安全管理措施(租用美国服务器后需要做好哪些安全管理措施呢)

租用美国服务器后需要做好的安全管理措施:1。需要给美国服务器安装并设置防火墙。提高美...

为什么越来越多人选择韩国服务器(为什么越来越多人选择韩国服务器呢)

越来越多人选择韩国服务器的原因:1。韩国服务器带宽资源丰富。访问速度快。能够给予用户...

服务器托管一定要准备好这些事情(服务器托管一定要准备好这些事情吗)

服务器托管就是说把自身的网络服务器存放在靠谱的大数据中心主机房里边。由IDC服务提供...

域名空间购买需要多少钱(域名空间购买需要多少钱一个)

域名空间购买价格一般是按照存储空间。带宽。服务器性能等因素来定价的。具体价格可以根据...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注