Python批量查询域名whois信息(到期域名时间查询小工具)
三石哥
2022-07-18 17:43:25
462
前言
由于公司有大量域名信息需要定期查看是否需要续期,前期都是人工操作比较耗时、耗力。所以衍生了这个小工具。
实现了查询域名到期时间、并且将近7天内到期的域名在Excel中标红,当然你也可以添加短信提醒和邮件提醒
代码步骤
1、将域名粘贴到指定txt文件中
比如:domain.txt
2、将指定txt文件中内容读取到list中
# 批量读取文件中的域名defread_file(filePath):withopen(filePath, "r") asf: # 打开文件data = f.readlines() # 读取文件returndata
3、通过某网站获取域名到期时间
# 通过某网站获取域名到期时间 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('//div[@]') 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
4、将结果写入Excel文件
# 写入Excel文件def write_excel(domain_list): # 创建一个新的文件withxlsxwriter.Workbook('host_ip.xlsx') asworkbook: # 添加一个工作表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= 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
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): withopen(filePath, "r") asf: # 打开文件data= f.readlines() # 读取文件returndata# 通过某网站获取域名到期时间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('//div[@]') 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): # 创建一个新的文件withxlsxwriter.Workbook('host_ip.xlsx') asworkbook: # 添加一个工作表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= 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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3561739510@qq.com 举报,一经查实,本站将立刻删除。
转载请注明来自专注SEO技术,教程,推广 - 8848SEO,本文标题:《Python批量查询域名whois信息(到期域名时间查询小工具)》
- 搜索
- 最新文章
- 热门文章
-
- 魔兽怀旧服:新饰品测试结果,提升最大职业确定,这些专精可无视
- iQOO小屏旗舰曝光:骁龙8E2+6.3x直屏,或明年上半年发布
- 小红书视频剪辑发布流程是什么?常见问题有哪些解决方法?
- 荣耀Power中端新机曝光:8000mAh+无线充+卫星通信,续航大幅提升
- 抖音视频剪辑技巧有哪些?如何正确使用抖音视频素材进行编辑?
- 新 Apple Watch 即将到达,史诗更新,看看有啥大变化?
- 7月国补后,可以“闭眼买”的3款直屏手机,怎么选都很香。
- 设置网站关键词怎么做?如何优化关键词提高SEO效果?
- 抖音短篇小说剪辑技巧有哪些?如何快速掌握剪辑流程?
- 大人唱歌抖音剪辑视频怎么做?视频编辑的步骤和技巧是什么?
- 小米 MIX Flip 2 首发评测:是性能最强小折叠,也是小米拍立得
- 如何在抖音上发布视频时去除剪映水印?
- 微信更新新功能:语音、视频通话支持弹窗接听
- 小红书博主怎么剪辑视频?剪辑技巧和常见问题解答?
- 抖音视频剪辑功能怎么用?如何快速上手抖音视频编辑?
- 怎么搜索网站关键词的网址?有哪些有效的搜索技巧?
- 抖音放歌怎么剪辑?视频剪辑中音乐编辑的技巧是什么?
- 抖音视频剪辑歌曲怎么操作?如何正确剪辑音乐片段?
- 抖音剪辑层级怎么做?掌握技巧提升视频质量?
- 快手图片转视频教程?操作步骤是什么?
- 热门tag