过期域名批量查询工具「附:域名状态查询工具」

大家好,今天李杰精心为你准备了干货过期域名批量查询工具,域名状态查询工具,还有关于域名,文件,时间这些的精品干货文章,思路很重要,希望我整理分享的这篇文章对你能有一定的帮助!

Python批量查询域名whois信息、到期时间小工具

前言

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

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

代码步骤

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

比如:domain.txt

Python批量查询域名whois信息、到期时间小工具

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)

运行结果:

Python批量查询域名whois信息、到期时间小工具

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)

好了,这篇文章就到这里吧,希望能帮到各位朋友,如果你认真看完了这篇过期域名批量查询工具「附:域名状态查询工具」文章,感觉自己收获很多,可以收藏寂寞网哈!

本文发布者:万事通,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/19065.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年11月30日 09:46
下一篇 2022年11月30日 09:49

相关推荐

  • 内衣有一点点紧是合适的吗 详细介绍:一穿稍微紧一点的内衣就胸疼怎么办

    大家好,今天李琼为大家整理了一些关于内衣有一点点紧是合适的吗,一穿稍微紧一点的内衣就胸疼怎么办的案例分析,以及内衣,胸部,乳腺,乳房,材质相关的最新实用干货和分享技巧,在成功的路上,没有什么比清晰的思路更重要的了。希望我的分享能够为你们的成功带来一些帮助和指导! 内衣在购买时是需要确定好胸围尺寸的,以免买回家试穿觉得紧了,如果感觉胸部有点紧不太舒服的话建议换…

    2023年5月26日
  • 拉菲红酒最贵的是多少钱一瓶「秒懂:拉菲红酒为什么这么便宜」

    小伙伴们大家好,今天周晨骐讲的文章是拉菲红酒最贵的是多少钱一瓶,拉菲红酒为什么这么便宜,以及红酒,多少钱,铁片,酒瓶,价格相关的事项,希望各位能认真阅读。因为,只有这样才能真正理解和掌握! 拉菲红酒多少钱一瓶 正牌法国红酒拉菲价格(大拉菲)大概在几千到上万元,所以最便宜的正牌拉菲也需要几千元。如果大家有渠道的话,可以买一些拉菲期酒,拉菲期酒的价格可能会相对便…

    2023年1月18日
  • 小本投资生意做什么「推荐7个适合乡镇开的实体店」

    很高兴你能坚持经常过来支持笔者:许剑强,今天就来说说关于小本投资生意做什么,7个适合乡镇开的实体店,还有关于县城,生意,城市的一些干货,认认真真阅读完,若能把我想表达的全部理解,相信你已经离大牛不远了哈! 都说这两年外面钱越来越难赚,城市里呆不下去的人也越来越多,拿着死工资每天朝九晚五的,奋斗十年在城市里却买不起一套房,娶个老婆生个孩子不敢带在身边,放在老家…

    2022年11月24日 自媒体
  • 只需一辆轿车就可做的生意「秒懂:这几个项目投资少利润大」

    小伙伴们大家好,今天杨博讲的文章是只需一辆轿车就可做的生意,这几个项目投资少利润大,还有关于生意,轿车,利润,孩子,找工作这些的相关干货文章,如果你是老司机,你可能觉得很简单,但如果你是新手,你可能就不这么想了。 有时候找工作很难,但有时候找工作也很容易,如果你是一个有车的人,只需一辆轿车就可以工作了。当然,很多人不知道只需一辆轿车就可做的生意,今天杨博给大…

    2023年2月25日
  • 1999年外星人入侵证据「附:世界禁止公布的秘密」

    小伙伴们大家好,今天何丹妮给大家分析下关于1999年外星人入侵证据,世界禁止公布的秘密的事情,以及关于外星人,事件,秘密等等各种相关干货,精心为你准备的干货,通过这篇文章相信你能有所收货! 1999年,地球曾大战外星人,这一惊天世事件一直被隐瞒起来 1999年,外星人入侵事件 故事是这样的,1999年的5月17日,联合国秘书长收到了来自外星人的警告,告诉人类…

    2022年10月29日 自媒体
  • 北京市区电话号区号是多少「必看:附:全国区号对照表」

    哈喽,小伙伴们大家好,今天韩芳儒废话就不多说了,直接上干货,标题:北京市区电话号区号是多少,附:全国区号对照表,还有关于区号,大区,中心的一些干货,整理总结之后,我就想着写这篇文章和大家分享一下,因为毕竟新手朋友还是很多的! [ 寂寞网导读 ] 相信很多人有一个疑问,为什么每个地区每个城市的区号都是不一样的,这样划分是有什么依据?今天就来讲讲电话区号是怎么划…

    2022年10月30日 自媒体